/home/ivoiecob/email.hirewise-va.com/static/js/ContactsWebclient.app.23d4909f221c962dba73.js
(self["webpackChunkafterlogic_aurora_platform"] = self["webpackChunkafterlogic_aurora_platform"] || []).push([[5],{
/***/ "/1gm":
/*!*******************************************************************!*\
!*** ./modules/ContactsWebclient/js/views/VcardAttachmentView.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
ko = __webpack_require__(/*! knockout */ "p09A"),
Types = __webpack_require__(/*! modules/CoreWebclient/js/utils/Types.js */ "ERH9"),
ContactsCache = __webpack_require__(/*! modules/ContactsWebclient/js/Cache.js */ "sqgh"),
CVcardModel = __webpack_require__(/*! modules/ContactsWebclient/js/models/VcardModel.js */ "ZQr9");
function CVcardAttachmentView() {
this.vcard = ko.observable(null);
}
CVcardAttachmentView.prototype.ViewTemplate = 'ContactsWebclient_VcardAttachmentView';
/**
* Receives properties of the message that is displaying in the message pane.
* It is called every time the message is changing in the message pane.
* Receives null if there is no message in the pane.
*
* @param {Object|null} oMessageProps Information about message in message pane.
* @param {Object} oMessageProps.oVcard
*/
CVcardAttachmentView.prototype.doAfterPopulatingMessage = function (oMessageProps) {
var aExtend = oMessageProps && Types.isNonEmptyArray(oMessageProps.aExtend) ? oMessageProps.aExtend : [],
oFoundRawVcard = _.find(aExtend, function (oRawVcard) {
return oRawVcard['@Object'] === 'Object/Aurora\\Modules\\Mail\\Classes\\Vcard';
});
if (oFoundRawVcard) {
var oVcard = ContactsCache.getVcard(oFoundRawVcard.File);
if (!oVcard) {
oVcard = new CVcardModel();
oVcard.parse(oFoundRawVcard);
}
this.vcard(oVcard);
} else {
this.vcard(null);
}
};
module.exports = new CVcardAttachmentView();
/***/ }),
/***/ "395q":
/*!*************************************************!*\
!*** ./modules/ContactsWebclient/js/manager.js ***!
\*************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
module.exports = function (oAppData) {
var _ = __webpack_require__(/*! underscore */ "C3HO"),
TextUtils = __webpack_require__(/*! modules/CoreWebclient/js/utils/Text.js */ "LKDt"),
App = __webpack_require__(/*! modules/CoreWebclient/js/App.js */ "yU9o"),
ModulesManager = __webpack_require__(/*! modules/CoreWebclient/js/ModulesManager.js */ "5D2l"),
Routing = __webpack_require__(/*! modules/CoreWebclient/js/Routing.js */ "ioSH"),
ContactsCache = __webpack_require__(/*! modules/ContactsWebclient/js/Cache.js */ "sqgh"),
EnumsDeclarator = __webpack_require__(/*! modules/ContactsWebclient/js/enums.js */ "YOnQ"),
Settings = __webpack_require__(/*! modules/ContactsWebclient/js/Settings.js */ "pY6S"),
Utils = __webpack_require__(/*! modules/ContactsWebclient/js/utils/Links.js */ "HV+X"),
SuggestionsAutocomplete = __webpack_require__(/*! modules/ContactsWebclient/js/SuggestionsAutocomplete.js */ "lKNB"),
SuggestionsMethods = {
getSuggestionsAutocompleteCallback: function getSuggestionsAutocompleteCallback(suggestParameters) {
var fSuggestionsAutocompleteCallback = function fSuggestionsAutocompleteCallback(oRequest, fResponse) {
SuggestionsAutocomplete.callback(oRequest, fResponse, suggestParameters);
},
//TODO: Remove this wrapper after adding PGP-keys to team storage
fSuggestionsAutocompleteFilteredCallback = ModulesManager.run('OpenPgpWebclient', 'getSuggestionsAutocompleteFilteredCallback', [fSuggestionsAutocompleteCallback]);
return fSuggestionsAutocompleteFilteredCallback ? fSuggestionsAutocompleteFilteredCallback : fSuggestionsAutocompleteCallback;
},
getSuggestionsAutocompleteDeleteHandler: function getSuggestionsAutocompleteDeleteHandler() {
return SuggestionsAutocomplete.deleteHandler;
},
getContactsByEmails: function getContactsByEmails(aEmails, fCallBack) {
ContactsCache.getContactsByEmails(aEmails, fCallBack);
}
},
fRegisterMessagePaneControllerOnStart = function fRegisterMessagePaneControllerOnStart() {
App.subscribeEvent('MailWebclient::RegisterMessagePaneController', function (fRegisterMessagePaneController) {
fRegisterMessagePaneController(__webpack_require__(/*! modules/ContactsWebclient/js/views/VcardAttachmentView.js */ "/1gm"), 'BeforeMessageBody');
});
},
ContactsCardsMethods = {
applyContactsCards: function applyContactsCards($Addresses) {
var ContactCard = __webpack_require__(/*! modules/ContactsWebclient/js/ContactCard.js */ "IRK9");
ContactCard.applyTo($Addresses);
}
};
var contactsViewInstance = null;
var getContactsViewInstance = function getContactsViewInstance() {
if (!contactsViewInstance) {
var CContactsView = __webpack_require__(/*! modules/ContactsWebclient/js/views/CContactsView.js */ "/u0n");
contactsViewInstance = new CContactsView();
}
return contactsViewInstance;
};
EnumsDeclarator.init(oAppData, Settings.ServerModuleName);
Settings.init(oAppData);
if (!ModulesManager.isModuleAvailable(Settings.ServerModuleName)) {
return null;
}
if (App.isUserNormalOrTenant()) {
if (App.isMobile()) {
return _.extend({
start: fRegisterMessagePaneControllerOnStart,
getSettings: function getSettings() {
return Settings;
},
getHeaderItemView: function getHeaderItemView() {
return __webpack_require__(/*! modules/ContactsWebclient/js/views/HeaderItemView.js */ "NvvQ");
}
}, SuggestionsMethods);
} else if (App.isNewTab()) {
return _.extend({
start: fRegisterMessagePaneControllerOnStart
}, SuggestionsMethods, ContactsCardsMethods);
} else {
__webpack_require__(/*! modules/ContactsWebclient/js/MainTabExtMethods.js */ "ty8j");
return _.extend({
start: function start(ModulesManager) {
ModulesManager.run('SettingsWebclient', 'registerSettingsTab', [function () {
return __webpack_require__(/*! modules/ContactsWebclient/js/views/ContactsSettingsFormView.js */ "iVjt");
}, Settings.HashModuleName, TextUtils.i18n('CONTACTSWEBCLIENT/LABEL_SETTINGS_TAB')]);
if (Settings.AllowAddressBooksManagement) {
ModulesManager.run('SettingsWebclient', 'registerSettingsTab', [function () {
return __webpack_require__(/*! modules/ContactsWebclient/js/views/AddressBooksSettingsFormView.js */ "FxYj");
}, 'manage-addressbooks', TextUtils.i18n('CONTACTSWEBCLIENT/LABEL_MANAGE_ADDRESSBOOK_SETTINGS_TAB')]);
}
fRegisterMessagePaneControllerOnStart();
App.broadcastEvent('RegisterNewItemElement', {
'title': TextUtils.i18n('CONTACTSWEBCLIENT/ACTION_NEW_CONTACT'),
'handler': function handler() {
var contactsViewInstance = getContactsViewInstance();
var command = contactsViewInstance.newContactCommand;
// check if we are on contacts screen or not
if (!window.location.hash.startsWith('#' + Settings.HashModuleName)) {
// if team book was selected before we need to redirect to personal contacts
if (contactsViewInstance.selectedStorage() === 'team') {
Routing.setHash(Utils.getContacts('personal', '', '', 1, '', 'create-contact'));
} else {
window.location.hash = Settings.HashModuleName;
}
}
if (contactsViewInstance.showPersonalContacts()) {
if (command.canExecute()) {
command();
}
} else {
var loadingListSubscription = contactsViewInstance.showPersonalContacts.subscribe(function (v) {
if (v) {
var _command = contactsViewInstance.newContactCommand;
if (_command.canExecute()) {
_command();
}
loadingListSubscription.dispose();
}
});
}
},
'className': 'item_contacts',
'order': 3,
'column': 1
});
},
getScreens: function getScreens() {
return _defineProperty({}, Settings.HashModuleName, getContactsViewInstance);
},
getHeaderItem: function getHeaderItem() {
return {
item: __webpack_require__(/*! modules/ContactsWebclient/js/views/HeaderItemView.js */ "NvvQ"),
name: Settings.HashModuleName
};
},
isTeamContactsAllowed: function isTeamContactsAllowed() {
return Utils.checkStorageExists('team');
},
getMobileSyncSettingsView: function getMobileSyncSettingsView() {
return __webpack_require__(/*! modules/ContactsWebclient/js/views/MobileSyncSettingsView.js */ "BuaG");
}
}, SuggestionsMethods, ContactsCardsMethods);
}
}
return null;
};
/***/ }),
/***/ "5Btj":
/*!*********************************************************************!*\
!*** ./modules/ContactsWebclient/js/popups/EditAddressBookPopup.js ***!
\*********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
ko = __webpack_require__(/*! knockout */ "p09A"),
TextUtils = __webpack_require__(/*! modules/CoreWebclient/js/utils/Text.js */ "LKDt"),
Ajax = __webpack_require__(/*! modules/CoreWebclient/js/Ajax.js */ "8QQh"),
Api = __webpack_require__(/*! modules/CoreWebclient/js/Api.js */ "Z9uT"),
CAbstractPopup = __webpack_require__(/*! modules/CoreWebclient/js/popups/CAbstractPopup.js */ "69av"),
Screens = __webpack_require__(/*! modules/CoreWebclient/js/Screens.js */ "D2Gh");
/**
* @constructor
*/
function CEditAddressBookPopup() {
CAbstractPopup.call(this);
this.createMode = ko.observable(false);
this.saving = ko.observable(false);
this.addressBookName = ko.observable('');
this.addressBookNameFocus = ko.observable(false);
this.fCallback = null;
}
_.extendOwn(CEditAddressBookPopup.prototype, CAbstractPopup.prototype);
CEditAddressBookPopup.prototype.PopupTemplate = 'ContactsWebclient_EditAddressBookPopup';
/**
* @param {Function} fCallback
*/
CEditAddressBookPopup.prototype.onOpen = function (fCallback, iEntityId, sDisplayName) {
this.fCallback = fCallback;
this.iEntityId = iEntityId;
this.createMode(!this.iEntityId);
this.addressBookName(sDisplayName || '');
this.addressBookNameFocus(true);
};
CEditAddressBookPopup.prototype.save = function () {
if (_.isEmpty(this.addressBookName())) {
Screens.showError(TextUtils.i18n('CONTACTSWEBCLIENT/ERROR_ADDRESSBOOK_NAME_EMPTY'));
this.addressBookNameFocus(true);
return;
}
var sMethod = this.createMode() ? 'CreateAddressBook' : 'UpdateAddressBook',
oParameters = {
'AddressBookName': this.addressBookName()
};
if (!this.createMode()) {
oParameters.EntityId = this.iEntityId;
}
this.addressBookNameFocus(false);
this.saving(true);
Ajax.send('Contacts', sMethod, oParameters, this.onSaveAddressBookResponse, this);
};
/**
* @param {Object} oResponse
* @param {Object} oRequest
*/
CEditAddressBookPopup.prototype.onSaveAddressBookResponse = function (oResponse, oRequest) {
this.saving(false);
if (!oResponse || !oResponse.Result) {
var sError = this.createMode() ? TextUtils.i18n('CONTACTSWEBCLIENT/ERROR_CREATE_ADDRESSBOOK') : TextUtils.i18n('CONTACTSWEBCLIENT/ERROR_UPDATE_ADDRESSBOOK');
Api.showErrorByCode(oResponse, sError);
} else {
var sReport = this.createMode() ? TextUtils.i18n('CONTACTSWEBCLIENT/REPORT_CREATE_ADDRESSBOOK') : TextUtils.i18n('CONTACTSWEBCLIENT/REPORT_UPDATE_ADDRESSBOOK');
Screens.showReport(sReport);
if (_.isFunction(this.fCallback)) {
this.fCallback();
}
this.closePopup();
}
};
CEditAddressBookPopup.prototype.cancelPopup = function () {
if (!this.saving()) {
this.closePopup();
}
};
module.exports = new CEditAddressBookPopup();
/***/ }),
/***/ "BuaG":
/*!**********************************************************************!*\
!*** ./modules/ContactsWebclient/js/views/MobileSyncSettingsView.js ***!
\**********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var ko = __webpack_require__(/*! knockout */ "p09A"),
Settings = __webpack_require__(/*! modules/ContactsWebclient/js/Settings.js */ "pY6S");
/**
* @constructor
*/
function CMobileSyncSettingsView() {
this.AddressBooks = ko.observableArray([]);
}
CMobileSyncSettingsView.prototype.ViewTemplate = 'ContactsWebclient_MobileSyncSettingsView';
/**
* @param {Object} oDav
*/
CMobileSyncSettingsView.prototype.populate = function (oDav) {
if (Array.isArray(oDav.Contacts)) {
var aAddressBooks = oDav.Contacts.map(function (oItem) {
return {
'DisplayName': oItem.Name,
'DavUrl': oItem.Url
};
});
this.AddressBooks(aAddressBooks);
}
};
module.exports = new CMobileSyncSettingsView();
/***/ }),
/***/ "FxYj":
/*!****************************************************************************!*\
!*** ./modules/ContactsWebclient/js/views/AddressBooksSettingsFormView.js ***!
\****************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
ko = __webpack_require__(/*! knockout */ "p09A"),
TextUtils = __webpack_require__(/*! modules/CoreWebclient/js/utils/Text.js */ "LKDt"),
Ajax = __webpack_require__(/*! modules/CoreWebclient/js/Ajax.js */ "8QQh"),
Api = __webpack_require__(/*! modules/CoreWebclient/js/Api.js */ "Z9uT"),
App = __webpack_require__(/*! modules/CoreWebclient/js/App.js */ "yU9o"),
ConfirmPopup = __webpack_require__(/*! modules/CoreWebclient/js/popups/ConfirmPopup.js */ "MYiO"),
Popups = __webpack_require__(/*! modules/CoreWebclient/js/Popups.js */ "PMEU"),
ModulesManager = __webpack_require__(/*! modules/CoreWebclient/js/ModulesManager.js */ "5D2l"),
CAbstractSettingsFormView = ModulesManager.run('SettingsWebclient', 'getAbstractSettingsFormViewClass'),
EditAddressBookPopup = __webpack_require__(/*! modules/ContactsWebclient/js/popups/EditAddressBookPopup.js */ "5Btj");
/**
* @constructor
*/
function CAddressBooksSettingsFormView() {
CAbstractSettingsFormView.call(this);
this.addressBooks = ko.observableArray([]);
this.loading = ko.observable(false);
}
_.extendOwn(CAddressBooksSettingsFormView.prototype, CAbstractSettingsFormView.prototype);
CAddressBooksSettingsFormView.prototype.ViewTemplate = 'ContactsWebclient_AddressBooksSettingsFormView';
CAddressBooksSettingsFormView.prototype.onShow = function () {
this.populate();
};
CAddressBooksSettingsFormView.prototype.populate = function () {
this.loading(true);
Ajax.send('Contacts', 'GetStorages', {}, function (oResponse) {
this.loading(false);
if (_.isArray(oResponse && oResponse.Result)) {
var userPublicId = App.getUserPublicId();
this.addressBooks(oResponse.Result.filter(function (addressbook) {
return (addressbook === null || addressbook === void 0 ? void 0 : addressbook.Display) && (addressbook === null || addressbook === void 0 ? void 0 : addressbook.Owner) === userPublicId && addressbook.Id !== 'personal';
}));
} else {
Api.showErrorByCode(oResponse);
}
}, this);
};
CAddressBooksSettingsFormView.prototype.addAddressBook = function () {
Popups.showPopup(EditAddressBookPopup, [this.populate.bind(this)]);
};
CAddressBooksSettingsFormView.prototype.editAddressBook = function (iEntityId, sDisplayName) {
Popups.showPopup(EditAddressBookPopup, [this.populate.bind(this), iEntityId, sDisplayName]);
};
CAddressBooksSettingsFormView.prototype.deleteAddressBook = function (iEntityId, sDisplayName) {
var sConfirm = TextUtils.i18n('CONTACTSWEBCLIENT/CONFIRM_DELETE_ADDRESSBOOK', {
'NAME': sDisplayName
}),
fOnConfirm = _.bind(function (bOk) {
if (bOk) {
Ajax.send('Contacts', 'DeleteAddressBook', {
'EntityId': iEntityId
}, function (oResponse) {
if (!oResponse || !oResponse.Result) {
Api.showErrorByCode(oResponse);
}
this.populate();
}, this);
}
}, this);
Popups.showPopup(ConfirmPopup, [sConfirm, fOnConfirm]);
};
module.exports = new CAddressBooksSettingsFormView();
/***/ }),
/***/ "IRK9":
/*!*****************************************************!*\
!*** ./modules/ContactsWebclient/js/ContactCard.js ***!
\*****************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
$ = __webpack_require__(/*! jquery */ "M4cL"),
ko = __webpack_require__(/*! knockout */ "p09A"),
CustomTooltip = __webpack_require__(/*! modules/CoreWebclient/js/CustomTooltip.js */ "OU/P"),
ModulesManager = __webpack_require__(/*! modules/CoreWebclient/js/ModulesManager.js */ "5D2l"),
Screens = __webpack_require__(/*! modules/CoreWebclient/js/Screens.js */ "D2Gh"),
ComposeMessageToAddressesFunc = ModulesManager.run('MailWebclient', 'getComposeMessageToAddresses'),
SearchMessagesInCurrentFolderFunc = ModulesManager.run('MailWebclient', 'getSearchMessagesInCurrentFolder'),
Popups = __webpack_require__(/*! modules/CoreWebclient/js/Popups.js */ "PMEU"),
CreateContactPopup = __webpack_require__(/*! modules/ContactsWebclient/js/popups/CreateContactPopup.js */ "cxhL"),
ContactsCache = __webpack_require__(/*! modules/ContactsWebclient/js/Cache.js */ "sqgh"),
oContactCardsView = {
contacts: ko.observableArray([]),
ViewTemplate: 'ContactsWebclient_ContactCardsView',
bAllowComposeMessageToAddresses: _.isFunction(ComposeMessageToAddressesFunc),
searchMessagesInCurrentFolder: SearchMessagesInCurrentFolderFunc || function () {},
bAllowSearchMessagesInCurrentFolder: _.isFunction(SearchMessagesInCurrentFolderFunc),
add: function add(aContacts) {
var aDiffContacts = _.filter(this.contacts(), function (oContact) {
return -1 === $.inArray(oContact.email(), _.keys(aContacts));
});
this.contacts(aDiffContacts.concat(_.compact(_.values(aContacts))));
}
};
Screens.showAnyView(oContactCardsView);
/**
* @param {Object} $Element
* @param {String} sAddress
*/
function BindContactCard($Element, sAddress) {
var $Popup = $('div.item_viewer[data-email=\'' + sAddress + '\']'),
bPopupOpened = false,
iCloseTimeoutId = 0,
fOpenPopup = function fOpenPopup() {
if ($Popup && $Element) {
bPopupOpened = true;
clearTimeout(iCloseTimeoutId);
setTimeout(function () {
var oOffset = $Element.offset(),
iLeft,
iTop,
iFitToScreenOffset;
if (bPopupOpened && oOffset.left + oOffset.top !== 0) {
iLeft = oOffset.left + 10;
iTop = oOffset.top + $Element.height() + 6;
iFitToScreenOffset = $(window).width() - (iLeft + 396); //396 - popup outer width
if (iFitToScreenOffset > 0) {
iFitToScreenOffset = 0;
}
$Popup.addClass('expand').offset({
'top': iTop,
'left': iLeft + iFitToScreenOffset
});
}
}, 180);
}
},
fClosePopup = function fClosePopup() {
if (bPopupOpened && $Popup && $Element) {
bPopupOpened = false;
iCloseTimeoutId = setTimeout(function () {
if (!bPopupOpened) {
$Popup.removeClass('expand');
}
}, 200);
}
};
if ($Popup.length > 0) {
$Element.off().on('mouseover', function () {
$Popup.off().on('mouseenter', fOpenPopup).on('mouseleave', fClosePopup).find('.link, .button').off('.links').on('click.links', function () {
bPopupOpened = false;
$Popup.removeClass('expand');
});
setTimeout(function () {
$Popup.find('.link, .button').off('click.links').on('click.links', function () {
bPopupOpened = false;
$Popup.removeClass('expand');
});
}.bind(this), 100);
fOpenPopup();
}).on('mouseout', fClosePopup);
bPopupOpened = false;
$Popup.removeClass('expand');
} else {
$Element.off();
}
}
function ClearElement($Element) {
if ($Element.next().hasClass('add_contact')) {
$Element.next().remove();
}
$Element.removeClass('found');
$Element.parent().removeClass('found_contact');
$Element.off();
}
/**
* @param {Array} aElements
* @param {Array} aContacts
*/
function OnContactResponse(aElements, aContacts) {
_.each(aElements, function ($Element) {
var sEmail = $Element.attr('data-email'),
// $Element.data('email') returns wrong values if data-email was changed by knockoutjs
oContact = aContacts[sEmail];
if (oContact !== undefined) {
ClearElement($Element);
if (oContact === null) {
var $add = $('<span class="add_contact"></span>');
$Element.after($add);
CustomTooltip.init($add, 'CONTACTSWEBCLIENT/ACTION_ADD_TO_CONTACTS');
$add.on('click', function () {
Popups.showPopup(CreateContactPopup, [$Element.attr('data-name'), sEmail, function (aContacts) {
_.each(aElements, function ($El) {
if ($El.attr('data-email') === sEmail) {
ClearElement($El);
$El.addClass('found');
$El.parent().addClass('found_contact');
oContactCardsView.add(aContacts);
BindContactCard($El, sEmail);
}
});
}]);
});
} else {
$Element.addClass('found');
$Element.parent().addClass('found_contact');
oContactCardsView.add(aContacts);
BindContactCard($Element, sEmail);
}
}
});
}
module.exports = {
applyTo: function applyTo($Addresses) {
var aElements = _.map($Addresses, function (oElement) {
return $(oElement);
}),
iMaxEmailCount = 100,
// interface freezes if message in preview pane has too many highlighted recipients
aEmails = _.uniq(_.map(aElements, function ($Element) {
return $Element && $Element.attr('data-email');
})).slice(0, iMaxEmailCount);
ContactsCache.getContactsByEmails(aEmails, _.bind(OnContactResponse, {}, aElements));
}
};
/***/ }),
/***/ "NvvQ":
/*!**************************************************************!*\
!*** ./modules/ContactsWebclient/js/views/HeaderItemView.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var TextUtils = __webpack_require__(/*! modules/CoreWebclient/js/utils/Text.js */ "LKDt"),
CHeaderItemView = __webpack_require__(/*! modules/CoreWebclient/js/views/CHeaderItemView.js */ "cR1d");
module.exports = new CHeaderItemView(TextUtils.i18n('CONTACTSWEBCLIENT/ACTION_SHOW_CONTACTS'));
/***/ }),
/***/ "YOnQ":
/*!***********************************************!*\
!*** ./modules/ContactsWebclient/js/enums.js ***!
\***********************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
Types = __webpack_require__(/*! modules/CoreWebclient/js/utils/Types.js */ "ERH9"),
Enums = {};
/**
* @enum {number}
*/
Enums.SharedAddressbookAccess = {
'NoAccess': 0,
'Write': 1,
'Read': 2
};
if (typeof window.Enums === 'undefined') {
window.Enums = {};
}
_.extendOwn(window.Enums, Enums);
module.exports = {
init: function init(appData, serverModuleName) {
var appDataSection = appData[serverModuleName];
window.Enums.ContactsPrimaryEmail = Types.pObject(appDataSection && appDataSection.PrimaryEmail);
window.Enums.ContactsPrimaryPhone = Types.pObject(appDataSection && appDataSection.PrimaryPhone);
window.Enums.ContactsPrimaryAddress = Types.pObject(appDataSection && appDataSection.PrimaryAddress);
window.Enums.ContactSortField = Types.pObject(appDataSection && appDataSection.SortField);
}
};
/***/ }),
/***/ "ZQr9":
/*!***********************************************************!*\
!*** ./modules/ContactsWebclient/js/models/VcardModel.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
ko = __webpack_require__(/*! knockout */ "p09A"),
TextUtils = __webpack_require__(/*! modules/CoreWebclient/js/utils/Text.js */ "LKDt"),
Types = __webpack_require__(/*! modules/CoreWebclient/js/utils/Types.js */ "ERH9"),
Api = __webpack_require__(/*! modules/CoreWebclient/js/Api.js */ "Z9uT"),
App = __webpack_require__(/*! modules/CoreWebclient/js/App.js */ "yU9o"),
Ajax = __webpack_require__(/*! modules/ContactsWebclient/js/Ajax.js */ "ZbnD"),
ContactsCache = __webpack_require__(/*! modules/ContactsWebclient/js/Cache.js */ "sqgh"),
HeaderItemView = !App.isNewTab() ? __webpack_require__(/*! modules/ContactsWebclient/js/views/HeaderItemView.js */ "NvvQ") : null,
MainTab = App.isNewTab() && window.opener ? window.opener.MainTabContactsMethods : null;
/**
* @constructor
*/
function CVcardModel() {
this.uid = ko.observable('');
this.file = ko.observable('');
this.name = ko.observable('');
this.email = ko.observable('');
this.exists = ko.observable(false);
this.isJustSaved = ko.observable(false);
}
/**
* @param {AjaxVCardResponse} oData
*/
CVcardModel.prototype.parse = function (oData) {
if (oData && oData['@Object'] === 'Object/Aurora\\Modules\\Mail\\Classes\\Vcard') {
this.uid(Types.pString(oData.Uid));
this.file(Types.pString(oData.File));
this.name(Types.pString(oData.Name));
this.email(Types.pString(oData.Email));
this.exists(!!oData.Exists);
ContactsCache.addVcard(this);
}
};
/**
* @param {Object} oResponse
* @param {Object} oRequest
*/
CVcardModel.prototype.onContactsSaveVcfResponse = function (oResponse, oRequest) {
if (!oResponse.Result) {
Api.showErrorByCode(oResponse, TextUtils.i18n('CONTACTSWEBCLIENT/ERROR_CREATE_CONTACT'));
this.exists(false);
} else {
if (_.isArray(oResponse.Result.ImportedUids) && oResponse.Result.ImportedUids.length === 1) {
this.uid(oResponse.Result.ImportedUids[0]);
if (MainTab) {
MainTab.updateVcardUid(this.file(), this.uid());
}
}
}
};
CVcardModel.prototype.addContact = function () {
Ajax.send('AddContactsFromFile', {
'File': this.file()
}, this.onContactsSaveVcfResponse, this);
this.isJustSaved(true);
this.exists(true);
setTimeout(_.bind(function () {
this.isJustSaved(false);
}, this), 20000);
if (HeaderItemView) {
HeaderItemView.recivedAnim(true);
} else if (MainTab) {
MainTab.markVcardsExistentByFile(this.file());
}
};
module.exports = CVcardModel;
/***/ }),
/***/ "cR1d":
/*!***********************************************************!*\
!*** ./modules/CoreWebclient/js/views/CHeaderItemView.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var ko = __webpack_require__(/*! knockout */ "p09A"),
Routing = __webpack_require__(/*! modules/CoreWebclient/js/Routing.js */ "ioSH");
function CHeaderItemView(sLinkText) {
this.sName = '';
this.visible = ko.observable(true);
this.baseHash = ko.observable('');
this.hash = ko.observable('');
this.linkText = ko.observable(sLinkText);
this.isCurrent = ko.observable(false);
this.recivedAnim = ko.observable(false).extend({
'autoResetToFalse': 500
});
this.unseenCount = ko.observable(0);
this.allowChangeTitle = ko.observable(false); // allows to change favicon and browser title when browser is inactive
this.inactiveTitle = ko.observable('');
this.excludedHashes = ko.observableArray([]);
}
CHeaderItemView.prototype.ViewTemplate = 'CoreWebclient_HeaderItemView';
CHeaderItemView.prototype.setName = function (sName) {
this.sName = sName.toLowerCase();
if (this.baseHash() === '') {
this.hash(Routing.buildHashFromArray([sName.toLowerCase()]));
this.baseHash(this.hash());
} else {
this.hash(this.baseHash());
}
};
module.exports = CHeaderItemView;
/***/ }),
/***/ "cxhL":
/*!*******************************************************************!*\
!*** ./modules/ContactsWebclient/js/popups/CreateContactPopup.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
ko = __webpack_require__(/*! knockout */ "p09A"),
TextUtils = __webpack_require__(/*! modules/CoreWebclient/js/utils/Text.js */ "LKDt"),
Api = __webpack_require__(/*! modules/CoreWebclient/js/Api.js */ "Z9uT"),
Routing = __webpack_require__(/*! modules/CoreWebclient/js/Routing.js */ "ioSH"),
Screens = __webpack_require__(/*! modules/CoreWebclient/js/Screens.js */ "D2Gh"),
CAbstractPopup = __webpack_require__(/*! modules/CoreWebclient/js/popups/CAbstractPopup.js */ "69av"),
LinksUtils = __webpack_require__(/*! modules/ContactsWebclient/js/utils/Links.js */ "HV+X"),
Ajax = __webpack_require__(/*! modules/ContactsWebclient/js/Ajax.js */ "ZbnD"),
ContactsCache = __webpack_require__(/*! modules/ContactsWebclient/js/Cache.js */ "sqgh"),
HeaderItemView = __webpack_require__(/*! modules/ContactsWebclient/js/views/HeaderItemView.js */ "NvvQ");
/**
* @constructor
*/
function CCreateContactPopup() {
CAbstractPopup.call(this);
this.displayName = ko.observable('');
this.email = ko.observable('');
this.phone = ko.observable('');
this.address = ko.observable('');
this.skype = ko.observable('');
this.facebook = ko.observable('');
this.focusDisplayName = ko.observable(false);
this.loading = ko.observable(false);
this.fCallback = function () {};
}
_.extendOwn(CCreateContactPopup.prototype, CAbstractPopup.prototype);
CCreateContactPopup.prototype.PopupTemplate = 'ContactsWebclient_CreateContactPopup';
/**
* @param {string} sName
* @param {string} sEmail
* @param {Function} fCallback
*/
CCreateContactPopup.prototype.onOpen = function (sName, sEmail, fCallback) {
if (this.displayName() !== sName || this.email() !== sEmail) {
this.displayName(sName);
this.email(sEmail);
this.phone('');
this.address('');
this.skype('');
this.facebook('');
}
this.fCallback = _.isFunction(fCallback) ? fCallback : function () {};
};
CCreateContactPopup.prototype.onSaveClick = function () {
if (!this.canBeSave()) {
Screens.showError(TextUtils.i18n('CONTACTSWEBCLIENT/ERROR_EMAIL_OR_NAME_BLANK'));
} else if (!this.loading()) {
var oParameters = {
'PrimaryEmail': Enums.ContactsPrimaryEmail.Personal,
'FullName': this.displayName(),
'PersonalEmail': this.email(),
'PersonalPhone': this.phone(),
'PersonalAddress': this.address(),
'Skype': this.skype(),
'Facebook': this.facebook(),
'Storage': 'personal'
};
this.loading(true);
Ajax.send('CreateContact', {
'Contact': oParameters
}, this.onCreateContactResponse, this);
}
};
CCreateContactPopup.prototype.cancelPopup = function () {
this.loading(false);
this.closePopup();
};
/**
* @param {Object} oResponse
* @param {Object} oRequest
*/
CCreateContactPopup.prototype.onCreateContactResponse = function (oResponse, oRequest) {
var oParameters = oRequest.Parameters;
this.loading(false);
if (!oResponse.Result) {
Api.showErrorByCode(oResponse, TextUtils.i18n('CONTACTSWEBCLIENT/ERROR_CREATE_CONTACT'));
} else {
Screens.showReport(TextUtils.i18n('CONTACTSWEBCLIENT/REPORT_CONTACT_SUCCESSFULLY_ADDED'));
ContactsCache.clearInfoAboutEmail(oParameters.Contact.PersonalEmail);
ContactsCache.getContactsByEmails([oParameters.Contact.PersonalEmail], this.fCallback);
this.closePopup();
if (!HeaderItemView.isCurrent()) {
HeaderItemView.recivedAnim(true);
}
}
};
CCreateContactPopup.prototype.canBeSave = function () {
return this.displayName() !== '' || this.email() !== '';
};
CCreateContactPopup.prototype.goToContacts = function () {
ContactsCache.saveNewContactParams({
displayName: this.displayName(),
email: this.email(),
phone: this.phone(),
address: this.address(),
skype: this.skype(),
facebook: this.facebook()
});
this.closePopup();
Routing.replaceHash(LinksUtils.getContacts('personal', '', '', 1, '', 'create-contact'));
};
module.exports = new CCreateContactPopup();
/***/ }),
/***/ "iVjt":
/*!************************************************************************!*\
!*** ./modules/ContactsWebclient/js/views/ContactsSettingsFormView.js ***!
\************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
ko = __webpack_require__(/*! knockout */ "p09A"),
Types = __webpack_require__(/*! modules/CoreWebclient/js/utils/Types.js */ "ERH9"),
ModulesManager = __webpack_require__(/*! modules/CoreWebclient/js/ModulesManager.js */ "5D2l"),
CAbstractSettingsFormView = ModulesManager.run('SettingsWebclient', 'getAbstractSettingsFormViewClass'),
Settings = __webpack_require__(/*! modules/ContactsWebclient/js/Settings.js */ "pY6S");
/**
* @constructor
*/
function CContactsSettingsFormView() {
CAbstractSettingsFormView.call(this, Settings.ServerModuleName);
this.contactsPerPageValues = ko.observableArray(Types.getAdaptedPerPageList(Settings.ContactsPerPage));
this.contactsPerPage = ko.observable(Settings.ContactsPerPage);
}
_.extendOwn(CContactsSettingsFormView.prototype, CAbstractSettingsFormView.prototype);
CContactsSettingsFormView.prototype.ViewTemplate = 'ContactsWebclient_ContactsSettingsFormView';
CContactsSettingsFormView.prototype.getCurrentValues = function () {
return [this.contactsPerPage()];
};
CContactsSettingsFormView.prototype.revertTeamValues = function () {
this.contactsPerPage(Settings.ContactsPerPage);
};
CContactsSettingsFormView.prototype.getParametersForSave = function () {
return {
'ContactsPerPage': this.contactsPerPage()
};
};
CContactsSettingsFormView.prototype.applySavedValues = function (oParameters) {
Settings.update(oParameters.ContactsPerPage);
};
module.exports = new CContactsSettingsFormView();
/***/ }),
/***/ "lKNB":
/*!*****************************************************************!*\
!*** ./modules/ContactsWebclient/js/SuggestionsAutocomplete.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _ = __webpack_require__(/*! underscore */ "C3HO"),
$ = __webpack_require__(/*! jquery */ "M4cL"),
AddressUtils = __webpack_require__(/*! modules/CoreWebclient/js/utils/Address.js */ "rBrp"),
Types = __webpack_require__(/*! modules/CoreWebclient/js/utils/Types.js */ "ERH9"),
Ajax = __webpack_require__(/*! modules/ContactsWebclient/js/Ajax.js */ "ZbnD");
/**
*
* @param {object} oRequest
* @param {function} fResponse
* @param {string} storage
* @param {boolean} addContactGroups
* @param {boolean} addUserGroups
* @param {string} exceptEmail
* @param {boolean} addEmailsToGroups
* @returns {undefined}
*/
function Callback(oRequest, fResponse, _ref) {
var _ref$storage = _ref.storage,
storage = _ref$storage === void 0 ? 'all' : _ref$storage,
_ref$addContactGroups = _ref.addContactGroups,
addContactGroups = _ref$addContactGroups === void 0 ? false : _ref$addContactGroups,
_ref$addUserGroups = _ref.addUserGroups,
addUserGroups = _ref$addUserGroups === void 0 ? false : _ref$addUserGroups,
_ref$exceptEmail = _ref.exceptEmail,
exceptEmail = _ref$exceptEmail === void 0 ? '' : _ref$exceptEmail,
_ref$addEmailsToGroup = _ref.addEmailsToGroups,
addEmailsToGroups = _ref$addEmailsToGroup === void 0 ? false : _ref$addEmailsToGroup,
_ref$useEmailAsValues = _ref.useEmailAsValues,
useEmailAsValues = _ref$useEmailAsValues === void 0 ? false : _ref$useEmailAsValues,
_ref$withoutEmptyEmai = _ref.withoutEmptyEmails,
withoutEmptyEmails = _ref$withoutEmptyEmai === void 0 ? false : _ref$withoutEmptyEmai;
var sTerm = oRequest.term,
oParameters = {
'Search': sTerm,
'Storage': storage,
'SortField': Enums.ContactSortField.Frequency,
'SortOrder': 1,
'WithGroups': addContactGroups,
'WithUserGroups': addUserGroups,
'WithoutTeamContactsDuplicates': true
};
Ajax.send('GetContactSuggestions', oParameters, function (oResponse) {
var aList = [];
if (oResponse && oResponse.Result && oResponse.Result.List) {
aList = _.map(oResponse.Result.List, function (oItem) {
if (oItem.IsGroup && oItem.Name) {
if (!oItem.Emails && withoutEmptyEmails) {
return null;
}
return {
label: addEmailsToGroups ? "".concat(oItem.Name, " (").concat(oItem.Emails, ")") : oItem.Name,
value: addEmailsToGroups ? oItem.Emails : oItem.Name,
name: oItem.Name,
email: addEmailsToGroups ? oItem.Emails : oItem.Name,
groupId: oItem.Id,
isUserGroup: true,
isAllUsersGroup: oItem.IsAll
};
}
var sValue = oItem.ViewEmail,
sLabel = '';
if (!useEmailAsValues && oItem.FullName && 0 < $.trim(oItem.FullName).length) {
if (oItem.ForSharedToAll) {
sValue = oItem.FullName;
} else if (oItem.IsGroup) {
sLabel = "".concat(oItem.FullName, " (").concat(oItem.ViewEmail, ")");
sValue = oItem.ViewEmail;
} else {
sValue = '"' + oItem.FullName + '" <' + oItem.ViewEmail + '>';
}
}
if (oItem && (oItem.ViewEmail && oItem.ViewEmail !== exceptEmail || !oItem.ViewEmail && !withoutEmptyEmails)) {
return {
label: sLabel ? sLabel : sValue,
value: sValue,
name: oItem.FullName,
email: oItem.ViewEmail,
frequency: oItem.Frequency,
id: oItem.UUID,
storage: oItem.Storage,
uuid: oItem.UUID,
team: oItem.Storage === 'team',
sharedToAll: oItem.Storage === 'shared',
hasKey: oItem.HasPgpPublicKey,
encryptMessage: oItem.PgpEncryptMessages,
signMessage: oItem.PgpSignMessages,
isContactGroup: oItem.IsGroup
};
}
return null;
});
aList = aList.filter(function (item) {
return item;
});
aList = _.sortBy(_.compact(aList), function (oItem) {
return -oItem.frequency;
});
}
fResponse(aList);
});
}
/**
* @param {Object} oContact
*/
function DeleteHandler(oContact) {
Ajax.send('UpdateContact', {
'Contact': {
'UUID': oContact.id,
'Frequency': -1,
'Storage': oContact.storage
}
});
}
module.exports = {
callback: Callback,
deleteHandler: DeleteHandler
};
/***/ }),
/***/ "ty8j":
/*!***********************************************************!*\
!*** ./modules/ContactsWebclient/js/MainTabExtMethods.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var ContactsCache = __webpack_require__(/*! modules/ContactsWebclient/js/Cache.js */ "sqgh"),
MainTabContactsMethods = {
markVcardsExistentByFile: function markVcardsExistentByFile(sFile) {
ContactsCache.markVcardsExistentByFile(sFile);
},
updateVcardUid: function updateVcardUid(sFile, sUid) {
ContactsCache.updateVcardUid(sFile, sUid);
}
};
window.MainTabContactsMethods = MainTabContactsMethods;
module.exports = {};
/***/ })
}]);