403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/ui/mail/sender-editor/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/ui/mail/sender-editor/dist/sender-editor.bundle.js
/* eslint-disable */
this.BX = this.BX || {};
this.BX.UI = this.BX.UI || {};
(function (exports,main_core,ui_sidepanel_layout,ui_hint,ui_alerts,ui_buttons,ui_forms,ui_layoutForm) {
	'use strict';

	let _ = t => t,
	  _t,
	  _t2,
	  _t3,
	  _t4,
	  _t5,
	  _t6,
	  _t7,
	  _t8,
	  _t9,
	  _t10,
	  _t11;
	const SidePanel = BX.SidePanel;
	const emailRegularEx = /\S+@\S+\.\S+/;
	const deleteMessage = 'mail-mailbox-config-delete';
	const senderType = 'sender';
	var _setFieldData = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("setFieldData");
	var _showDisconnectDialog = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("showDisconnectDialog");
	var _save = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("save");
	var _disconnect = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("disconnect");
	var _saveSender = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("saveSender");
	var _createContentContainer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createContentContainer");
	var _createAlertNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createAlertNode");
	var _createSenderSection = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createSenderSection");
	var _createSmtpServerSection = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createSmtpServerSection");
	var _createSmtpEmailRow = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createSmtpEmailRow");
	var _createSmtpServerRow = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createSmtpServerRow");
	var _createSmtpPortAndSafeConnectionRow = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createSmtpPortAndSafeConnectionRow");
	var _createSmtpLoginRow = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createSmtpLoginRow");
	var _createSmtpPasswordRow = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createSmtpPasswordRow");
	var _createLimitSection = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createLimitSection");
	var _showAlertNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("showAlertNode");
	var _hideAlertNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hideAlertNode");
	var _prepareNecessaryFields = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("prepareNecessaryFields");
	var _hasInvalidFields = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hasInvalidFields");
	var _clearInvalidFields = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("clearInvalidFields");
	var _isInvalidField = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isInvalidField");
	var _getErrorMessage = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getErrorMessage");
	var _setUserName = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("setUserName");
	class SmtpEditor {
	  constructor(options) {
	    var _options$onClose;
	    Object.defineProperty(this, _setUserName, {
	      value: _setUserName2
	    });
	    Object.defineProperty(this, _getErrorMessage, {
	      value: _getErrorMessage2
	    });
	    Object.defineProperty(this, _isInvalidField, {
	      value: _isInvalidField2
	    });
	    Object.defineProperty(this, _clearInvalidFields, {
	      value: _clearInvalidFields2
	    });
	    Object.defineProperty(this, _hasInvalidFields, {
	      value: _hasInvalidFields2
	    });
	    Object.defineProperty(this, _prepareNecessaryFields, {
	      value: _prepareNecessaryFields2
	    });
	    Object.defineProperty(this, _hideAlertNode, {
	      value: _hideAlertNode2
	    });
	    Object.defineProperty(this, _showAlertNode, {
	      value: _showAlertNode2
	    });
	    Object.defineProperty(this, _createLimitSection, {
	      value: _createLimitSection2
	    });
	    Object.defineProperty(this, _createSmtpPasswordRow, {
	      value: _createSmtpPasswordRow2
	    });
	    Object.defineProperty(this, _createSmtpLoginRow, {
	      value: _createSmtpLoginRow2
	    });
	    Object.defineProperty(this, _createSmtpPortAndSafeConnectionRow, {
	      value: _createSmtpPortAndSafeConnectionRow2
	    });
	    Object.defineProperty(this, _createSmtpServerRow, {
	      value: _createSmtpServerRow2
	    });
	    Object.defineProperty(this, _createSmtpEmailRow, {
	      value: _createSmtpEmailRow2
	    });
	    Object.defineProperty(this, _createSmtpServerSection, {
	      value: _createSmtpServerSection2
	    });
	    Object.defineProperty(this, _createSenderSection, {
	      value: _createSenderSection2
	    });
	    Object.defineProperty(this, _createAlertNode, {
	      value: _createAlertNode2
	    });
	    Object.defineProperty(this, _createContentContainer, {
	      value: _createContentContainer2
	    });
	    Object.defineProperty(this, _saveSender, {
	      value: _saveSender2
	    });
	    Object.defineProperty(this, _disconnect, {
	      value: _disconnect2
	    });
	    Object.defineProperty(this, _save, {
	      value: _save2
	    });
	    Object.defineProperty(this, _showDisconnectDialog, {
	      value: _showDisconnectDialog2
	    });
	    Object.defineProperty(this, _setFieldData, {
	      value: _setFieldData2
	    });
	    if (options) {
	      var _options$setSenderCal, _options$addSenderCal;
	      if (options.senderId && main_core.Type.isInteger(options.senderId) && options.senderId > 0) {
	        this.title = main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_EDIT_TITLE');
	        this.senderId = options.senderId;
	      } else {
	        this.title = main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_ADD_TITLE');
	      }
	      this.setSender = (_options$setSenderCal = options.setSenderCallback) != null ? _options$setSenderCal : null;
	      this.addSender = (_options$addSenderCal = options.addSenderCallback) != null ? _options$addSenderCal : null;
	    }
	    this.onCloseAction = (_options$onClose = options.onClose) != null ? _options$onClose : null;
	    babelHelpers.classPrivateFieldLooseBase(this, _createContentContainer)[_createContentContainer]();
	    babelHelpers.classPrivateFieldLooseBase(this, _prepareNecessaryFields)[_prepareNecessaryFields]();
	  }
	  static openSlider(options) {
	    const instance = new SmtpEditor(options);
	    SidePanel.Instance.open('smtpSender', {
	      width: 760,
	      cacheable: false,
	      contentCallback: () => {
	        return instance.getContentCallback();
	      },
	      events: {
	        onLoad: () => {
	          main_core.ready(() => {
	            new ui_layoutForm.LayoutForm({
	              container: instance.limitSection
	            });
	          });
	        }
	      }
	    });
	  }
	  getContentCallback() {
	    return ui_sidepanel_layout.Layout.createContent({
	      extensions: ['ui.mail.sender-editor'],
	      title: this.title,
	      design: {
	        section: false,
	        margin: false
	      },
	      content: () => {
	        if (this.senderId > 0) {
	          return this.loadSender(this.senderId);
	        }
	        return main_core.ajax.runAction('main.api.mail.sender.getDefaultSenderName').then(response => {
	          babelHelpers.classPrivateFieldLooseBase(this, _setUserName)[_setUserName](response.data);
	          return this.getContentContainer();
	        }).catch(() => {
	          return this.getContentContainer();
	        });
	      },
	      buttons: ({
	        cancelButton,
	        Button
	      }) => {
	        const buttonArray = [];
	        const saveButton = new ui_buttons.SaveButton({
	          onclick: () => {
	            babelHelpers.classPrivateFieldLooseBase(this, _save)[_save](saveButton);
	          }
	        });
	        buttonArray.push(saveButton);
	        if (this.senderId > 0) {
	          this.disconnectButton = new Button({
	            text: main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_DISCONNECT_BUTTON'),
	            color: BX.UI.Button.Color.DANGER,
	            onclick: () => {
	              babelHelpers.classPrivateFieldLooseBase(this, _showDisconnectDialog)[_showDisconnectDialog]();
	            }
	          });
	          buttonArray.push(this.disconnectButton);
	        }
	        buttonArray.push(cancelButton);
	        return buttonArray;
	      }
	    });
	  }
	  loadSender(senderId) {
	    return main_core.ajax.runAction('main.api.mail.sender.getSenderData', {
	      data: {
	        senderId
	      }
	    }).then(response => {
	      babelHelpers.classPrivateFieldLooseBase(this, _setFieldData)[_setFieldData](response.data);
	      return this.getContentContainer();
	    }).catch(() => {
	      return this.getContentContainer();
	    });
	  }
	  getContentContainer() {
	    return this.contentContainer;
	  }
	}
	function _setFieldData2(senderData) {
	  this.nameField.value = senderData.name;
	  this.accessField.checked = senderData.isPublic;
	  this.emailField.value = senderData.email;
	  this.serverField.value = senderData.server;
	  this.portField.value = senderData.port;
	  this.loginField.value = senderData.login;
	  if (senderData.protocol === 'smtps') {
	    this.sslField.checked = true;
	  }
	  if (main_core.Type.isNumber(senderData.limit) && senderData.limit > 0) {
	    this.senderLimitCheckbox.checked = true;
	    this.senderLimitField.value = senderData.limit;
	  }
	}
	function _showDisconnectDialog2() {
	  top.BX.UI.Dialogs.MessageBox.show({
	    message: main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_DISCONNECT_MESSAGE'),
	    modal: true,
	    buttons: BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,
	    onOk: messageBox => {
	      babelHelpers.classPrivateFieldLooseBase(this, _disconnect)[_disconnect]();
	      messageBox.close();
	    },
	    onCancel: messageBox => {
	      messageBox.close();
	    }
	  });
	}
	function _save2(button) {
	  babelHelpers.classPrivateFieldLooseBase(this, _clearInvalidFields)[_clearInvalidFields]();
	  if (babelHelpers.classPrivateFieldLooseBase(this, _hasInvalidFields)[_hasInvalidFields]()) {
	    return;
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _hideAlertNode)[_hideAlertNode]();
	  button.setClocking();
	  babelHelpers.classPrivateFieldLooseBase(this, _saveSender)[_saveSender]().then(response => {
	    const data = response.data;
	    if (this.setSender) {
	      this.setSender(data.senderId, data.name, this.email);
	    }
	    if (this.addSender) {
	      const mailbox = [];
	      mailbox.name = data.name;
	      mailbox.email = this.email;
	      this.addSender(mailbox);
	    }
	    BX.SidePanel.Instance.getTopSlider().close();
	    if (!this.senderId && !this.addSender) {
	      AliasEditor.openSlider({
	        senderId: data.senderId,
	        email: this.email,
	        setSenderCallback: this.setSender,
	        onClose: this.onCloseAction
	      });
	    }
	  }).catch(response => {
	    babelHelpers.classPrivateFieldLooseBase(this, _showAlertNode)[_showAlertNode](response.errors[0].message);
	    button.setClocking(false);
	  });
	}
	function _disconnect2() {
	  main_core.Dom.addClass(this.disconnectButton, 'ui-btn-wait');
	  main_core.ajax.runAction('main.api.mail.sender.deleteSender', {
	    data: {
	      senderId: this.senderId
	    }
	  }).then(() => {
	    main_core.Dom.removeClass(this.disconnectButton, 'ui-btn-wait');
	    SidePanel.Instance.getTopSlider().close();
	    top.BX.SidePanel.Instance.postMessage(window, deleteMessage, {
	      id: this.senderId,
	      type: senderType
	    });
	  }).catch(() => {
	    main_core.Dom.removeClass(this.disconnectButton, 'ui-btn-wait');
	  });
	}
	function _saveSender2() {
	  var _this$senderId;
	  this.email = this.emailField.value;
	  const data = {
	    id: (_this$senderId = this.senderId) != null ? _this$senderId : null,
	    name: this.nameField.value,
	    email: this.email,
	    smtp: {},
	    public: this.accessField.checked ? 'Y' : 'N'
	  };
	  data.smtp = {
	    server: this.serverField.value,
	    port: this.portField.value,
	    ssl: this.sslField.checked ? this.sslField.value : '',
	    login: this.loginField.value,
	    password: this.passwordField.value,
	    limit: this.senderLimitCheckbox.checked ? this.senderLimitField.value : null
	  };
	  return main_core.ajax.runAction('main.api.mail.sender.submitSender', {
	    data: {
	      data
	    }
	  }).then(response => {
	    return response;
	  });
	}
	function _createContentContainer2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _createAlertNode)[_createAlertNode]();
	  babelHelpers.classPrivateFieldLooseBase(this, _createSenderSection)[_createSenderSection]();
	  babelHelpers.classPrivateFieldLooseBase(this, _createSmtpServerSection)[_createSmtpServerSection]();
	  babelHelpers.classPrivateFieldLooseBase(this, _createLimitSection)[_createLimitSection]();
	  this.contentContainer = main_core.Tag.render(_t || (_t = _`
			<div class="ui-form">
				${0}
				${0}
				${0}
				${0}
			</div>
		`), this.alertNode, this.senderSection, this.smtpServerSection, this.limitSection);
	}
	function _createAlertNode2() {
	  this.alertNode = main_core.Tag.render(_t2 || (_t2 = _`
			<div class="ui-alert ui-alert-danger ui-alert-icon-warning" style="display: none">
				<span class="ui-alert-message"></span>
			</div>
		`));
	}
	function _createSenderSection2() {
	  var _top$BX$UI$Hint;
	  const {
	    root,
	    nameField,
	    accessField
	  } = main_core.Tag.render(_t3 || (_t3 = _`
			<div class="ui-slider-section">
				<div class="ui-slider-content-box">
					<div class="ui-slider-heading-4">${0}</div>
					<div class="ui-form-row">
						<div class="ui-ctl-top smtp-sender-name">
							<div class="ui-form-label">${0}</div>
							<span data-hint="${0}"></span>
						</div>
						<div class="ui-form-row-inline ui-ctl-w100">
							<div class="ui-form-row">
								<div class="ui-ctl ui-ctl-textbox ui-ctl-w100">
									<input type="text" data-name="name" value="" class="ui-ctl-element" ref="nameField">
								</div>
							</div>
							<div class="ui-form-row">
								<label class="ui-ctl ui-ctl-checkbox">
									<input type="checkbox" class="ui-ctl-element" data-name="access" ref="accessField">
									<div class="ui-ctl-label-text">${0}</div>
									<span data-hint="${0}"></span>
								</label>
							</div>
						</div>
					</div>
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SENDER_MAIN_SECTION_TITLE'), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SENDER_NAME'), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_NAME_HINT'), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SENDER_AVAILABLE_TOGGLE'), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SENDER_AVAILABLE_TOGGLE_HINT'));
	  this.senderSection = root;
	  this.nameField = nameField;
	  this.accessField = accessField;
	  this.hintInstence = (_top$BX$UI$Hint = top.BX.UI.Hint) == null ? void 0 : _top$BX$UI$Hint.createInstance();
	  this.hintInstence.init(this.senderSection);
	}
	function _createSmtpServerSection2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _createSmtpEmailRow)[_createSmtpEmailRow]();
	  babelHelpers.classPrivateFieldLooseBase(this, _createSmtpServerRow)[_createSmtpServerRow]();
	  babelHelpers.classPrivateFieldLooseBase(this, _createSmtpPortAndSafeConnectionRow)[_createSmtpPortAndSafeConnectionRow]();
	  babelHelpers.classPrivateFieldLooseBase(this, _createSmtpLoginRow)[_createSmtpLoginRow]();
	  babelHelpers.classPrivateFieldLooseBase(this, _createSmtpPasswordRow)[_createSmtpPasswordRow]();
	  this.smtpServerSection = main_core.Tag.render(_t4 || (_t4 = _`
			<div class="ui-slider-section">
				<div class="ui-slider-content-box">
					<div class="ui-slider-heading-4">${0}</div>
					${0}
					${0}
					${0}
					${0}
					${0}
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SMTP_SECTION_TITLE'), this.smtpEmailRow, this.smtpServerRow, this.smtpPortAndSafeConnectionRow, this.smtpLoginRow, this.smtpPasswordRow);
	}
	function _createSmtpEmailRow2() {
	  const {
	    root,
	    emailField
	  } = main_core.Tag.render(_t5 || (_t5 = _`
			<div class="ui-form-row">
				<div class="ui-ctl-top">
					<div class="ui-form-label">${0}</div>
				</div>
				<div class="ui-ctl ui-ctl-textbox ui-ctl-w100">
					<input type="email" name="email" class="ui-ctl-element" data-name="email" placeholder="info@example.com" ref="emailField">
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_EMAIL'));
	  this.smtpEmailRow = root;
	  this.emailField = emailField;
	}
	function _createSmtpServerRow2() {
	  const {
	    root,
	    serverField
	  } = main_core.Tag.render(_t6 || (_t6 = _`
			<div class="ui-form-row">
				<div class="ui-ctl-top">
					<div class="ui-form-label">${0}</div>
				</div>
				<div class="ui-ctl ui-ctl-textbox ui-ctl-w100">
					<input type="text" name="server" class="ui-ctl-element" data-name="server" placeholder="smtp.example.com" ref="serverField">
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SERVER'));
	  this.smtpServerRow = root;
	  this.serverField = serverField;
	}
	function _createSmtpPortAndSafeConnectionRow2() {
	  const {
	    root,
	    portField,
	    sslField
	  } = main_core.Tag.render(_t7 || (_t7 = _`
			<div class="ui-form-row">
				<div class="ui-ctl-top">
					<div class="ui-form-label">${0}</div>
				</div>
				<div class="ui-form-row-inline" style="margin-bottom: 0">
					<div class="ui-form-row">
						<div class="ui-ctl ui-ctl-textbox ui-ctl-w100">
						<input type="text" 
							class="ui-ctl-element" 
							data-name="port" 
							placeholder="555"
							ref="portField"
						>
						</div>
					</div>
					<div class="ui-form-row">
						<label class="ui-ctl ui-ctl-checkbox">
							<input type="checkbox" class="ui-ctl-element" value="Y" data-name="ssl" ref="sslField">
							<div class="ui-ctl-label-text">${0}</div>
						</label>
					</div>
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_PORT'), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SSL'));
	  this.smtpPortAndSafeConnectionRow = root;
	  this.portField = portField;
	  this.sslField = sslField;
	}
	function _createSmtpLoginRow2() {
	  const {
	    root,
	    loginField
	  } = main_core.Tag.render(_t8 || (_t8 = _`
			<div class="ui-form-row">
				<div class="ui-ctl-top">
					<div class="ui-form-label">${0}</div>
				</div>
				<div class="ui-ctl ui-ctl-textbox ui-ctl-w100">
					<input type="text" class="ui-ctl-element" data-name="login" ref="loginField">
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_LOGIN'));
	  this.smtpLoginRow = root;
	  this.loginField = loginField;
	  main_core.Event.bind(this.emailField, 'input', () => {
	    this.loginField.value = this.emailField.value;
	  });
	}
	function _createSmtpPasswordRow2() {
	  const {
	    root,
	    passwordField
	  } = main_core.Tag.render(_t9 || (_t9 = _`
			<div class="ui-form-row">
				<div class="ui-ctl-top">
					<div class="ui-form-label">${0}</div>
				</div>
				<div class="ui-ctl ui-ctl-textbox ui-ctl-w100">
					<input type="password" class="ui-ctl-element" data-name="password" ref="passwordField">
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_PASSWORD'));
	  this.smtpPasswordRow = root;
	  this.passwordField = passwordField;
	}
	function _createLimitSection2() {
	  const {
	    root,
	    senderLimitCheckbox,
	    senderLimitField
	  } = main_core.Tag.render(_t10 || (_t10 = _`
			<div class="ui-slider-section">
				<div class="ui-slider-content-box">
					<div class="ui-slider-heading-4">${0}</div>
					<div class="ui-form-row">
						<div class="ui-form-label" data-form-row-hidden="">
							<label class="ui-ctl ui-ctl-checkbox smtp-editor-limit-checkbox">
								<input type="checkbox" class="ui-ctl-element" data-name="hasLimit" ref="senderLimitCheckbox">
								<div class="ui-ctl-label-text">${0}</div>
							</label>
						</div>
						<div class="ui-form-row-hidden">
							<div class="ui-form-row">
								<div class="ui-ctl-top">
									<div class="ui-form-label">${0}</div>
								</div>
								<div class="ui-ctl ui-ctl-textbox ui-ctl-w25">
									<input type="number" class="ui-ctl-element" data-name="limit" value="250" min="0" ref="senderLimitField">
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SENDER_LIMIT_SECTION_TITLE'), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SENDER_LIMIT_SETTINGS'), main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_SENDER_LIMIT_TITLE'));
	  this.limitSection = root;
	  this.senderLimitCheckbox = senderLimitCheckbox;
	  this.senderLimitField = senderLimitField;
	}
	function _showAlertNode2(message = null) {
	  if (message) {
	    const spanNode = this.alertNode.querySelector('span');
	    spanNode.textContent = message;
	  }
	  main_core.Dom.style(this.alertNode, 'display', 'block');
	}
	function _hideAlertNode2() {
	  main_core.Dom.style(this.alertNode, 'display', 'none');
	}
	function _prepareNecessaryFields2() {
	  this.requiredFields = [{
	    row: this.smtpEmailRow,
	    input: this.emailField,
	    type: 'email'
	  }, {
	    row: this.smtpServerRow,
	    input: this.serverField,
	    type: 'server'
	  }, {
	    row: this.smtpPortAndSafeConnectionRow,
	    input: this.portField,
	    type: 'port'
	  }, {
	    row: this.smtpLoginRow,
	    input: this.loginField,
	    type: 'login'
	  }];
	  if (!this.senderId) {
	    this.requiredFields.push({
	      row: this.smtpPasswordRow,
	      input: this.passwordField,
	      type: 'pass'
	    });
	  }
	}
	function _hasInvalidFields2() {
	  let count = 0;
	  this.requiredFields.forEach(field => {
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _isInvalidField)[_isInvalidField](field.type, field.input.value)) {
	      return;
	    }
	    count++;
	    main_core.Dom.addClass(field.row, 'ui-ctl-warning');
	    const errorMessage = babelHelpers.classPrivateFieldLooseBase(this, _getErrorMessage)[_getErrorMessage](field.type, field.input.value);
	    const invalidField = main_core.Tag.render(_t11 || (_t11 = _`
				<div class="ui-mail-field-error-message ui-ctl-bottom">${0}</div>
			`), errorMessage);
	    main_core.Dom.append(invalidField, field.row);
	    if (this.topEmptyNode) {
	      return;
	    }
	    this.topEmptyNode = field.row;
	    this.topEmptyNode.scrollIntoView();
	  });
	  return count > 0;
	}
	function _clearInvalidFields2() {
	  var _this$invalidFieldNod;
	  if (!this.requiredFields) {
	    return;
	  }
	  this.requiredFields.forEach(field => {
	    main_core.Dom.removeClass(field.row, 'ui-ctl-warning');
	    const errorMessageFiled = field.row.querySelector('.ui-mail-field-error-message');
	    if (main_core.Type.isDomNode(errorMessageFiled)) {
	      main_core.Dom.remove(errorMessageFiled);
	    }
	  });
	  this.topEmptyNode = null;
	  (_this$invalidFieldNod = this.invalidFieldNode) == null ? void 0 : _this$invalidFieldNod.remove();
	}
	function _isInvalidField2(type, input) {
	  if (input.length === 0) {
	    return true;
	  }
	  if (type === 'port' && (!Number.isInteger(Number(input)) || input < 0 || input > 65535)) {
	    return true;
	  }
	  return type === 'email' && !emailRegularEx.test(input);
	}
	function _getErrorMessage2(type, input) {
	  switch (type) {
	    case 'email':
	      if (main_core.Type.isString(input) && input.length > 0) {
	        return main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_INVALID_EMAIL');
	      }
	      return main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_EMPTY_EMAIL');
	    case 'server':
	      return main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_EMPTY_SERVER');
	    case 'port':
	      return main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_INVALID_PORT');
	    case 'login':
	      return main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_EMPTY_LOGIN');
	    default:
	      return main_core.Loc.getMessage('UI_MAIL_SMTP_SLIDER_EMPTY_PASSWORD');
	  }
	}
	function _setUserName2(name) {
	  this.nameField.value = name;
	}

	let _$1 = t => t,
	  _t$1,
	  _t2$1,
	  _t3$1,
	  _t4$1,
	  _t5$1,
	  _t6$1,
	  _t7$1,
	  _t8$1,
	  _t9$1,
	  _t10$1,
	  _t11$1,
	  _t12,
	  _t13,
	  _t14,
	  _t15,
	  _t16,
	  _t17,
	  _t18,
	  _t19,
	  _t20;
	const mailboxType = 'mailbox';
	const senderType$1 = 'sender';
	const mailboxSenderType = 'mailboxSender';
	const aliasType = 'alias';
	const successSubmitMessage = 'mail-mailbox-config-success';
	const deleteMessage$1 = 'mail-mailbox-config-delete';
	const aliasSliderUrl = 'mailAliasSlider';
	var _senderNameNodes = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("senderNameNodes");
	var _createContentContainer$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createContentContainer");
	var _createAddSenderContainer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createAddSenderContainer");
	var _addAliasPromise = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("addAliasPromise");
	var _createToolbarButtons = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createToolbarButtons");
	var _renderSenderItem = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSenderItem");
	var _renderSenderNameContainer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSenderNameContainer");
	var _renderSenderEditNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSenderEditNode");
	var _renderSenderExtraInfoContainer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSenderExtraInfoContainer");
	var _getExtraInfoText = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getExtraInfoText");
	var _renderSenderEditContainer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSenderEditContainer");
	var _renderSenderAuthorContainer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSenderAuthorContainer");
	var _renderUserInfoNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderUserInfoNode");
	var _renderDeleteButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderDeleteButton");
	var _renderSettingsButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSettingsButton");
	var _renderSubmitButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSubmitButton");
	var _renderCancelButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderCancelButton");
	var _addSenders = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("addSenders");
	var _openSmtpSettings = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("openSmtpSettings");
	var _openMailboxSettings = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("openMailboxSettings");
	var _hasNameInvalidCharacters = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hasNameInvalidCharacters");
	var _checkAliasCounter = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("checkAliasCounter");
	var _isMainSender = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isMainSender");
	class AliasEditor {
	  constructor(options) {
	    Object.defineProperty(this, _isMainSender, {
	      value: _isMainSender2
	    });
	    Object.defineProperty(this, _checkAliasCounter, {
	      value: _checkAliasCounter2
	    });
	    Object.defineProperty(this, _hasNameInvalidCharacters, {
	      value: _hasNameInvalidCharacters2
	    });
	    Object.defineProperty(this, _openMailboxSettings, {
	      value: _openMailboxSettings2
	    });
	    Object.defineProperty(this, _openSmtpSettings, {
	      value: _openSmtpSettings2
	    });
	    Object.defineProperty(this, _addSenders, {
	      value: _addSenders2
	    });
	    Object.defineProperty(this, _renderCancelButton, {
	      value: _renderCancelButton2
	    });
	    Object.defineProperty(this, _renderSubmitButton, {
	      value: _renderSubmitButton2
	    });
	    Object.defineProperty(this, _renderSettingsButton, {
	      value: _renderSettingsButton2
	    });
	    Object.defineProperty(this, _renderDeleteButton, {
	      value: _renderDeleteButton2
	    });
	    Object.defineProperty(this, _renderUserInfoNode, {
	      value: _renderUserInfoNode2
	    });
	    Object.defineProperty(this, _renderSenderAuthorContainer, {
	      value: _renderSenderAuthorContainer2
	    });
	    Object.defineProperty(this, _renderSenderEditContainer, {
	      value: _renderSenderEditContainer2
	    });
	    Object.defineProperty(this, _getExtraInfoText, {
	      value: _getExtraInfoText2
	    });
	    Object.defineProperty(this, _renderSenderExtraInfoContainer, {
	      value: _renderSenderExtraInfoContainer2
	    });
	    Object.defineProperty(this, _renderSenderEditNode, {
	      value: _renderSenderEditNode2
	    });
	    Object.defineProperty(this, _renderSenderNameContainer, {
	      value: _renderSenderNameContainer2
	    });
	    Object.defineProperty(this, _renderSenderItem, {
	      value: _renderSenderItem2
	    });
	    Object.defineProperty(this, _createToolbarButtons, {
	      value: _createToolbarButtons2
	    });
	    Object.defineProperty(this, _addAliasPromise, {
	      value: _addAliasPromise2
	    });
	    Object.defineProperty(this, _createAddSenderContainer, {
	      value: _createAddSenderContainer2
	    });
	    Object.defineProperty(this, _createContentContainer$1, {
	      value: _createContentContainer2$1
	    });
	    this.wasSenderUpdated = false;
	    this.aliasCounter = 0;
	    Object.defineProperty(this, _senderNameNodes, {
	      writable: true,
	      value: new Map()
	    });
	    this.senderId = Number(options.senderId);
	    this.email = options.email;
	    this.setSender = options.setSenderCallback;
	    this.updateSenderList = options.updateSenderList;
	    babelHelpers.classPrivateFieldLooseBase(this, _createContentContainer$1)[_createContentContainer$1]();
	    babelHelpers.classPrivateFieldLooseBase(this, _createToolbarButtons)[_createToolbarButtons]();
	  }
	  static openSlider(options) {
	    const instance = new AliasEditor(options);
	    const onSliderMessage = function (event) {
	      const [sliderEvent] = event.getData();
	      if (!sliderEvent) {
	        return;
	      }
	      const eventMessage = sliderEvent.getEventId();
	      const data = sliderEvent.getData();
	      const mailboxId = Number(sliderEvent.data.id);
	      const slider = BX.SidePanel.Instance.getSlider(aliasSliderUrl);
	      if (eventMessage === successSubmitMessage) {
	        instance.wasSenderUpdated = true;
	        instance.updateMainSenderName(mailboxId);
	        if (slider) {
	          slider.close();
	        }
	        return;
	      }
	      if (eventMessage === deleteMessage$1) {
	        instance.wasSenderUpdated = true;
	        if (instance.id === Number(mailboxId)) {
	          instance.setSender();
	        }
	        if (slider) {
	          slider.close();
	        }
	        if (data && data.type !== senderType$1) {
	          BX.SidePanel.Instance.postMessage(window, sliderEvent.getEventId(), sliderEvent.getData);
	        }
	      }
	    };
	    BX.SidePanel.Instance.open(aliasSliderUrl, {
	      width: 800,
	      cacheable: false,
	      contentCallback: () => {
	        return ui_sidepanel_layout.Layout.createContent({
	          extensions: ['ui.mail.sender-editor'],
	          title: options.email,
	          design: {
	            section: false,
	            margin: false
	          },
	          content() {
	            return instance.loadSliderContent();
	          },
	          toolbar() {
	            return instance.getToolbarButtons();
	          },
	          buttons: () => {}
	        });
	      },
	      events: {
	        onClose: () => {
	          top.BX.Event.EventEmitter.unsubscribe('SidePanel.Slider:onMessage', onSliderMessage);
	          if (instance.updateSenderList && instance.wasSenderUpdated) {
	            instance.updateSenderList();
	          }
	        }
	      }
	    });
	    top.BX.Event.EventEmitter.subscribe('SidePanel.Slider:onMessage', onSliderMessage);
	  }
	  getContentContainer() {
	    return this.contentContainer;
	  }
	  getToolbarButtons() {
	    const buttons = [];
	    if (this.settingsButton) {
	      buttons.push(this.settingsButton);
	    }
	    return buttons;
	  }
	  loadSliderContent() {
	    return BX.ajax.runAction('main.api.mail.sender.getSenderTransitionalData', {
	      data: {
	        senderId: this.senderId
	      }
	    }).then(response => {
	      var _data$senders;
	      const data = response.data;
	      const senders = (_data$senders = data.senders) != null ? _data$senders : null;
	      this.id = Number(data.id);
	      this.email = data.email;
	      babelHelpers.classPrivateFieldLooseBase(this, _addSenders)[_addSenders](senders);
	      const type = data.type || null;
	      switch (type) {
	        case mailboxType:
	          this.settingsButton.bindEvent('click', () => {
	            babelHelpers.classPrivateFieldLooseBase(this, _openMailboxSettings)[_openMailboxSettings](data.href);
	          });
	          break;
	        case senderType$1:
	          this.settingsButton.bindEvent('click', () => {
	            babelHelpers.classPrivateFieldLooseBase(this, _openSmtpSettings)[_openSmtpSettings](data.id);
	          });
	          break;
	        default:
	          this.settingsButton.setDisabled();
	          break;
	      }
	      return this.getContentContainer();
	    }).catch(() => {
	      this.settingsButton.setDisabled();
	      return this.getContentContainer();
	    });
	  }
	  updateMainSenderName(mailboxId) {
	    return BX.ajax.runAction('main.api.mail.sender.getSenderByMailboxId', {
	      data: {
	        mailboxId
	      }
	    }).then(response => {
	      var _response$data;
	      const name = (_response$data = response.data) == null ? void 0 : _response$data.name;
	      if (!name || !this.mainSenderNameNode) {
	        return;
	      }
	      this.mainSenderNameNode.innerText = name;
	    }).catch(() => {});
	  }
	}
	function _createContentContainer2$1() {
	  this.senderList = main_core.Tag.render(_t$1 || (_t$1 = _$1`
			<div class="mail-sender-list"></div>
		`));
	  babelHelpers.classPrivateFieldLooseBase(this, _createAddSenderContainer)[_createAddSenderContainer]();
	  this.contentContainer = main_core.Tag.render(_t2$1 || (_t2$1 = _$1`
			<div class="ui-form">
				<div class="ui-slider-section">
					<div class="ui-slider-content-box" style="margin-bottom: 0">
						<div class="ui-slider-heading-4 sender-list-header">${0}</div>
						${0}
						${0}
					</div>
				</div>
			</div>
		`), main_core.Text.encode(main_core.Loc.getMessage('UI_MAIL_ALIAS_SLIDER_EMAIL_TITLE')), this.senderList, this.addSenderContainer);
	}
	function _createAddSenderContainer2() {
	  this.senderInput = main_core.Tag.render(_t3$1 || (_t3$1 = _$1`
			<input type="text" class="ui-ctl-element" data-name="aliasName" placeholder="${0}">
		`), main_core.Text.encode(main_core.Loc.getMessage('UI_MAIL_ALIAS_SLIDER_ADD_INPUT_PLACEHOLDER')));
	  this.senderInputContainer = main_core.Tag.render(_t4$1 || (_t4$1 = _$1`
			<div class="add-sender-input-container" hidden>
				<div class="ui-ctl ui-ctl-textbox ui-ctl-default-light ui-ctl-sm ui-ctl-w100">
					${0}
				</div>
			</div>
		`), this.senderInput);
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderSubmitButton)[_renderSubmitButton](() => {
	    return babelHelpers.classPrivateFieldLooseBase(this, _addAliasPromise)[_addAliasPromise]();
	  }, this.senderInput), this.senderInputContainer);
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderCancelButton)[_renderCancelButton](() => {
	    main_core.Dom.hide(this.senderInputContainer);
	    main_core.Dom.show(this.senderAddButton);
	    this.senderInput.value = null;
	  }), this.senderInputContainer);
	  this.senderAddButton = main_core.Tag.render(_t5$1 || (_t5$1 = _$1`
			<div class="add-sender-button">${0}</div>
		`), main_core.Text.encode(main_core.Loc.getMessage('UI_MAIL_ALIAS_SLIDER_ADD_BUTTON')));
	  main_core.Event.bind(this.senderAddButton, 'click', () => {
	    main_core.Dom.hide(this.senderAddButton);
	    main_core.Dom.show(this.senderInputContainer);
	    this.senderInput.focus();
	  });
	  this.addSenderContainer = main_core.Tag.render(_t6$1 || (_t6$1 = _$1`
			<div class="add-sender-container">
				${0}
				${0}
			</div>
		`), this.senderInputContainer, this.senderAddButton);
	}
	function _addAliasPromise2() {
	  return new Promise(resolve => {
	    const hideInputContainer = () => {
	      main_core.Dom.hide(this.senderInputContainer);
	      main_core.Dom.show(this.senderAddButton);
	      this.senderInput.value = null;
	      resolve();
	    };
	    if (this.senderInput.value.trim().length === 0) {
	      hideInputContainer();
	      return;
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _hasNameInvalidCharacters)[_hasNameInvalidCharacters](this.senderInput.value.trim())) {
	      resolve();
	      return;
	    }
	    const name = this.senderInput.value;
	    main_core.ajax.runAction('main.api.mail.sender.addAlias', {
	      data: {
	        name,
	        email: this.email
	      }
	    }).then(response => {
	      var _data$userUrl, _data$avatar;
	      const data = response.data;
	      const newSenderId = data.senderId;
	      if (this.setSender && data.senderId) {
	        this.setSender(data.senderId, name, this.email);
	      }
	      this.wasSenderUpdated = true;
	      this.senderId = newSenderId;
	      const senderNode = babelHelpers.classPrivateFieldLooseBase(this, _renderSenderItem)[_renderSenderItem]({
	        id: newSenderId,
	        name,
	        isOwner: true,
	        type: aliasType,
	        canEdit: true,
	        userUrl: (_data$userUrl = data.userUrl) != null ? _data$userUrl : null,
	        avatar: (_data$avatar = data.avatar) != null ? _data$avatar : null
	      });
	      main_core.Dom.append(senderNode, this.senderList);
	      this.aliasCounter++;
	      hideInputContainer();
	    }).catch(() => {
	      hideInputContainer();
	    });
	  });
	}
	function _createToolbarButtons2() {
	  this.settingsButton = new ui_buttons.Button({
	    text: main_core.Loc.getMessage('UI_MAIL_ALIAS_SLIDER_MAIL_SETTINGS_BUTTON'),
	    icon: ui_buttons.Button.Icon.SETTING,
	    color: ui_buttons.Button.Color.LIGHT_BORDER
	  });
	}
	function _renderSenderItem2(sender) {
	  const itemContainer = main_core.Tag.render(_t7$1 || (_t7$1 = _$1`<div class="sender-list-item"></div>`));
	  const {
	    root: nameContainer,
	    textNode: nameTextContainer
	  } = babelHelpers.classPrivateFieldLooseBase(this, _renderSenderNameContainer)[_renderSenderNameContainer](sender.name);
	  let handleShowEditInput = null;
	  if (sender.canEdit) {
	    const {
	      nameEditContainer,
	      editInput: nameEditInput
	    } = babelHelpers.classPrivateFieldLooseBase(this, _renderSenderEditNode)[_renderSenderEditNode](sender, nameTextContainer);
	    main_core.Dom.append(nameEditContainer, nameContainer);
	    handleShowEditInput = () => {
	      nameEditInput.value = nameContainer.innerText;
	      main_core.Dom.hide(nameTextContainer);
	      main_core.Dom.show(nameEditContainer);
	      nameEditInput.focus();
	    };
	    main_core.Event.bind(nameTextContainer, 'click', handleShowEditInput);
	  }
	  main_core.Dom.append(nameContainer, itemContainer);
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderSenderExtraInfoContainer)[_renderSenderExtraInfoContainer](sender), itemContainer);
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderSenderAuthorContainer)[_renderSenderAuthorContainer](sender, itemContainer), itemContainer);
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderSenderEditContainer)[_renderSenderEditContainer](sender, itemContainer, handleShowEditInput), itemContainer);
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isMainSender)[_isMainSender](sender)) {
	    this.mainSenderNameNode = nameContainer.querySelector('.sender-item-name-text-container');
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _senderNameNodes)[_senderNameNodes].set(sender.id, nameTextContainer);
	  return itemContainer;
	}
	function _renderSenderNameContainer2(senderName) {
	  const {
	    root,
	    textNode
	  } = main_core.Tag.render(_t8$1 || (_t8$1 = _$1`
			<div class="sender-item-name-container">
				<div class="sender-item-name-text-container" ref="textNode">
					${0}
				</div>
			</div>
		`), main_core.Text.encode(senderName));
	  return {
	    root,
	    textNode
	  };
	}
	function _renderSenderEditNode2(sender, nameTextContainer) {
	  const textContainer = nameTextContainer;
	  const {
	    root,
	    editInput
	  } = main_core.Tag.render(_t9$1 || (_t9$1 = _$1`
			<div class="edit-sender-container-content" ref="editContent">
				<div class="ui-ctl ui-ctl-textbox ui-ctl-default-light ui-ctl-sm ui-ctl-w100">
					<input type="text" class="ui-ctl-element" ref="editInput" placeholder="${0}">
				</div>
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_ALIAS_SLIDER_ADD_INPUT_PLACEHOLDER'));
	  const nameEditContainer = root;
	  const submitPromise = () => {
	    return new Promise(resolve => {
	      const hideEditContainer = () => {
	        editInput.value = nameTextContainer.innerText;
	        main_core.Dom.hide(nameEditContainer);
	        main_core.Dom.show(textContainer);
	        resolve();
	      };
	      if (editInput.value.length === 0 || editInput.value === nameTextContainer.innerText) {
	        hideEditContainer();
	        return;
	      }
	      if (babelHelpers.classPrivateFieldLooseBase(this, _hasNameInvalidCharacters)[_hasNameInvalidCharacters](editInput.value)) {
	        resolve();
	        return;
	      }
	      const senderNewName = editInput.value;
	      main_core.ajax.runAction('main.api.mail.sender.updateSenderName', {
	        data: {
	          senderId: sender.id,
	          name: senderNewName
	        }
	      }).then(() => {
	        textContainer.innerText = senderNewName;
	        if (this.setSender) {
	          this.setSender(sender.id, senderNewName, this.email);
	        }
	        this.wasSenderUpdated = true;
	        hideEditContainer();
	      }).catch(() => {
	        hideEditContainer();
	      });
	    });
	  };
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderSubmitButton)[_renderSubmitButton](submitPromise, editInput), root);
	  const cancelHandler = () => {
	    main_core.Dom.hide(nameEditContainer);
	    main_core.Dom.show(textContainer);
	    editInput.value = null;
	  };
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderCancelButton)[_renderCancelButton](cancelHandler), root);
	  main_core.Dom.hide(root);
	  return {
	    nameEditContainer,
	    editInput
	  };
	}
	function _renderSenderExtraInfoContainer2(sender) {
	  return main_core.Tag.render(_t10$1 || (_t10$1 = _$1`
			<div class="sender-item-type-container">${0}</div>
		`), main_core.Text.encode(babelHelpers.classPrivateFieldLooseBase(this, _getExtraInfoText)[_getExtraInfoText](sender)));
	}
	function _getExtraInfoText2(sender) {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isMainSender)[_isMainSender](sender)) {
	    return main_core.Loc.getMessage('UI_MAIL_ALIAS_EDITOR_CURRENT_SENDER_NAME');
	  }
	  if ([senderType$1, mailboxSenderType].includes(sender.type)) {
	    return main_core.Loc.getMessage('UI_MAIL_ALIAS_EDITOR_ANOTHER_SENDER_NAME');
	  }
	  if (sender.type === aliasType && sender.isOwner) {
	    return main_core.Loc.getMessage('UI_MAIL_ALIAS_EDITOR_ADDITIONAL_SENDER_NAME');
	  }
	  return '';
	}
	function _renderSenderEditContainer2(sender, senderNode, handleShowInput) {
	  const senderEditContainer = main_core.Tag.render(_t11$1 || (_t11$1 = _$1`
			<div class="sender-item-edit-container"></div>
		`));
	  if (!sender.canEdit && !sender.isOwner) {
	    return senderEditContainer;
	  }
	  const senderNameEditButton = main_core.Tag.render(_t12 || (_t12 = _$1`
			<div class="sender-item-btn ui-btn ui-btn-xs ui-icon-set --pencil-50"></div>
		`));
	  main_core.Dom.append(senderNameEditButton, senderEditContainer);
	  if (handleShowInput) {
	    main_core.Event.bind(senderNameEditButton, 'click', handleShowInput);
	  }
	  if (sender.type === aliasType) {
	    main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderDeleteButton)[_renderDeleteButton](sender.id, senderNode), senderEditContainer);
	    return senderEditContainer;
	  }
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderSettingsButton)[_renderSettingsButton](sender.type, sender.id, sender.editHref), senderEditContainer);
	  return senderEditContainer;
	}
	function _renderSenderAuthorContainer2(sender, senderNode) {
	  const authorEditContainer = main_core.Tag.render(_t13 || (_t13 = _$1`
			<div class="sender-item-author-container"></div>
		`));
	  if (sender.userUrl) {
	    var _sender$avatar;
	    main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _renderUserInfoNode)[_renderUserInfoNode](sender.userUrl, (_sender$avatar = sender.avatar) != null ? _sender$avatar : null), authorEditContainer);
	  }
	  return authorEditContainer;
	}
	function _renderUserInfoNode2(userUrl, avatar) {
	  const {
	    root,
	    userAvatarContainer
	  } = main_core.Tag.render(_t14 || (_t14 = _$1`
			<div class="sender-item-owner-info">
				${0}
				<a href="${0}" class="ui-icon ui-icon-common-user sender-item-owner-avatar" ref="userAvatarContainer"></a> 
			</div>
		`), main_core.Loc.getMessage('UI_MAIL_ALIAS_EDITOR_ANOTHER_USER_SENDER_NAME'), main_core.Text.encode(userUrl));
	  let avatarIcon = '';
	  if (avatar) {
	    avatarIcon = main_core.Tag.render(_t15 || (_t15 = _$1`<i style="background-image: url('${0}')"></i>`), main_core.Text.encode(avatar));
	  } else {
	    avatarIcon = main_core.Tag.render(_t16 || (_t16 = _$1`<div class="sender-item-owner-avatar-icon ui-icon-set --person"></div>`));
	  }
	  main_core.Dom.append(avatarIcon, userAvatarContainer);
	  return root;
	}
	function _renderDeleteButton2(senderId, senderNode) {
	  const deleteButton = main_core.Tag.render(_t17 || (_t17 = _$1`
			<div class="sender-item-btn ui-btn ui-btn-xs ui-icon-set --trash-bin" style="margin: 0"></div>
		`));
	  main_core.Event.bind(deleteButton, 'click', () => {
	    main_core.Dom.removeClass(deleteButton, ['ui-icon-set', '--trash-bin']);
	    main_core.Dom.addClass(deleteButton, ['ui-btn-light', 'ui ui-btn-wait']);
	    main_core.ajax.runAction('main.api.mail.sender.deleteSender', {
	      data: {
	        senderId
	      }
	    }).then(() => {
	      senderNode.remove();
	      this.wasSenderUpdated = true;
	      if (Number(senderId) === this.senderId) {
	        this.setSender();
	      }
	      babelHelpers.classPrivateFieldLooseBase(this, _senderNameNodes)[_senderNameNodes].delete(senderId);
	      this.aliasCounter--;
	      babelHelpers.classPrivateFieldLooseBase(this, _checkAliasCounter)[_checkAliasCounter]();
	    }).catch(() => {
	      main_core.Dom.removeClass(deleteButton, 'ui-btn-wait');
	    });
	  });
	  return deleteButton;
	}
	function _renderSettingsButton2(type, senderId, editHref) {
	  const editButton = main_core.Tag.render(_t18 || (_t18 = _$1`
			<div class="sender-item-btn ui-btn ui-btn-xs ui-icon-set --settings-1" style="margin: 0"></div>
		`));
	  if (type === mailboxSenderType) {
	    main_core.Event.bind(editButton, 'click', () => {
	      babelHelpers.classPrivateFieldLooseBase(this, _openMailboxSettings)[_openMailboxSettings](editHref);
	    });
	    return editButton;
	  }
	  main_core.Event.bind(editButton, 'click', () => {
	    babelHelpers.classPrivateFieldLooseBase(this, _openSmtpSettings)[_openSmtpSettings](senderId);
	  });
	  return editButton;
	}
	function _renderSubmitButton2(submitPromise, targetElement) {
	  const submitButton = main_core.Tag.render(_t19 || (_t19 = _$1`
			<div class="ui-btn ui-btn-xs ui-btn-primary ui-btn-icon-done" style="margin: 0"></div>
		`));
	  main_core.Event.bind(submitButton, 'click', () => {
	    main_core.Dom.addClass(submitButton, 'ui ui-btn-wait');
	    submitPromise().then(() => {
	      main_core.Dom.removeClass(submitButton, 'ui-btn-wait');
	    }).catch(() => {});
	  });
	  main_core.Event.bind(targetElement, 'keypress', event => {
	    if (event.key === 'Enter') {
	      submitButton.click();
	    }
	  });
	  return submitButton;
	}
	function _renderCancelButton2(cancelHandler) {
	  const cancelButton = main_core.Tag.render(_t20 || (_t20 = _$1`
			<div class="sender-item-btn ui-btn ui-btn-xs ui-icon-set --cross-45" style="margin: 0"></div>
		`));
	  main_core.Event.bind(cancelButton, 'click', cancelHandler);
	  return cancelButton;
	}
	function _addSenders2(senders) {
	  if (!senders) {
	    return;
	  }
	  senders.sort((a, b) => a.id - b.id);
	  senders.forEach(sender => {
	    if (!this.id) {
	      if (sender.type === senderType$1) {
	        this.id = sender.id;
	      }
	      if (sender.type === mailboxSenderType) {
	        this.id = sender.mailboxId;
	      }
	    }
	    const senderNode = babelHelpers.classPrivateFieldLooseBase(this, _renderSenderItem)[_renderSenderItem](sender);
	    if (babelHelpers.classPrivateFieldLooseBase(this, _isMainSender)[_isMainSender](sender)) {
	      main_core.Dom.prepend(senderNode, this.senderList);
	    } else {
	      main_core.Dom.append(senderNode, this.senderList);
	    }
	    this.aliasCounter++;
	  });
	}
	function _openSmtpSettings2(senderId) {
	  SmtpEditor.openSlider({
	    senderId: Number(senderId),
	    setSenderCallback: (id, name, email) => {
	      if (babelHelpers.classPrivateFieldLooseBase(this, _senderNameNodes)[_senderNameNodes].has(id)) {
	        babelHelpers.classPrivateFieldLooseBase(this, _senderNameNodes)[_senderNameNodes].get(id).innerText = name;
	      }
	      this.setSender(id, name, email);
	      this.wasSenderUpdated = true;
	    }
	  });
	}
	function _openMailboxSettings2(href) {
	  BX.SidePanel.Instance.open(href);
	}
	function _hasNameInvalidCharacters2(name) {
	  // regex checks for characters other than letters of the alphabet, numbers, spaces
	  // and special characters ("-", ".", "'", "(", ")", ",")
	  const regexForInvalidCharacters = /[^\p{L}\p{N}\p{Zs}\-.'(),]+/ug;
	  if (regexForInvalidCharacters.test(name)) {
	    top.BX.UI.Notification.Center.notify({
	      content: main_core.Text.encode(main_core.Loc.getMessage('UI_MAIL_ALIAS_EDITOR_INVALID_SYMBOLS_NOTIFICATION'))
	    });
	    return true;
	  }
	  return false;
	}
	function _checkAliasCounter2() {
	  if (this.aliasCounter === 0) {
	    const slider = BX.SidePanel.Instance.getSlider(aliasSliderUrl);
	    if (slider) {
	      slider.close();
	    }
	  }
	}
	function _isMainSender2(sender) {
	  return sender.type === senderType$1 && this.id === Number(sender.id) || sender.type === mailboxSenderType && this.id === Number(sender.mailboxId);
	}

	exports.AliasEditor = AliasEditor;
	exports.SmtpEditor = SmtpEditor;

}((this.BX.UI.Mail = this.BX.UI.Mail || {}),BX,BX.UI.SidePanel,BX,BX.UI,BX.UI,BX,BX.UI));
//# sourceMappingURL=sender-editor.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit