%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.142.119.8 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/sender.config.limits/templates/.default/ |
Upload File : |
;(function () { BX.namespace('BX.Sender.Config'); if (BX.Sender.Config.Limits) { return; } var Helper = BX.Sender.Helper; //var Page = BX.Sender.Page; /** * Percentage. * */ function Percentage(params) { this.init(params); } Percentage.prototype.init = function (params) { this.name = params.name; this.context = params.context; this.manager = params.manager; this.editNode = Helper.getNode('percentage-edit', this.context); this.inputNode = Helper.getNode('percentage-input', this.context); this.textNode = Helper.getNode('percentage-text', this.context); this.viewNode = Helper.getNode('percentage-view', this.context); this.limitNode = Helper.getNode('percentage-limit', this.context); this.availableNode = Helper.getNode('percentage-available', this.context); if (this.inputNode) { this.input = this.inputNode.querySelector('input'); this.current = parseInt(this.input.value); BX.bind(this.editNode, 'click', this.onEdit.bind(this)); BX.bind(this.input, 'blur', this.onSave.bind(this)); } }; Percentage.prototype.setValue = function (response) { this.current = parseInt(response.percentage); this.input.value = this.current; this.textNode.textContent = this.current; this.viewNode.style.left = this.current + '%'; Helper.animate.numbers(this.limitNode, response.limit); Helper.animate.numbers(this.availableNode, response.available); }; Percentage.prototype.onEdit = function () { BX.addClass(this.viewNode, 'sender-config-limits-progress-active'); var self = this; setTimeout(function () { BX.focus(self.input); }, 50); }; Percentage.prototype.onSave = function () { BX.removeClass(this.viewNode, 'sender-config-limits-progress-active'); var value = parseInt(this.input.value); if (this.current === value) { return; } var self = this; this.manager.ajaxAction.request({ action: 'setLimitPercentage', onsuccess: function (response) { self.setValue(response); }, data: { 'percentage': value } }); }; /** * Manager. * */ function Limits(params) { } Limits.prototype.init = function (params) { this.mess = params.mess || {}; this.actionUri = params.actionUri || ''; this.context = BX(params.containerId); Helper.getNodes('percentage-context', this.context) .forEach(this.initPercentage, this); this.ajaxAction = new BX.AjaxAction(this.actionUri); this.canTrackMailNode = document.querySelector('.sender-track-mail-option'); this.mailConsentNode = document.querySelector('.sender-mail-consent-option'); this.sendingTimeNode = document.querySelector('.sender-sending-time-option'); this.sendingTimeConfigurationBlock = document.querySelector('.sender-sending-time-configuration-block'); this.sendingTimeViewBlock = document.querySelector('.sender-sending-time-view-block'); this.sendingTimeEditBlock = document.querySelector('.sender-sending-time-edit-block'); this.sendingTimeEditBtn = document.querySelector('.sender-sending-time-edit-btn'); this.sendingStartNode = document.querySelector('.sender-sending-start'); this.sendingEndNode = document.querySelector('.sender-sending-end'); this.sendingTimeSaveBtn = document.querySelector('.sender-save-time-limit-configuration'); this.sendingTimeConfigurationBlock.style.display= this.sendingTimeNode.checked ? 'block':'none'; BX.bind(this.canTrackMailNode, 'change', this.switchCanTrackMail.bind(this)); BX.bind(this.mailConsentNode, 'change', this.switchMailConsentOption.bind(this)); BX.bind(this.sendingTimeNode, 'change', this.switchSendingTimeOption.bind(this)); BX.bind(this.sendingTimeSaveBtn, 'click', this.saveSendingTimeOptions.bind(this)); BX.bind(this.sendingTimeEditBtn, 'click', this.switchSendingTimeConfigurationBlock.bind(this)); this.changeLeftMenuOption(params.defaultTab); }; Limits.prototype.changeLeftMenuOption = function(dataTab) { var tabs = document.querySelectorAll('[data-tab]'); tabs.forEach(function(element) { if (element.dataset.tab === dataTab) { element.classList.add('sender-type-tab-current') } else { element.classList.remove('sender-type-tab-current') } }); }; Limits.prototype.initPercentage = function (context) { if (!context) { return; } var name = context.getAttribute('data-name'); if (!name) { return; } new Percentage({ 'name': name, 'context': context, 'manager': this }); }; Limits.prototype.switchCanTrackMail = function () { this.ajaxAction.request({ action: 'switchTrackMailOption', onsuccess: function (response) { }, data: { 'canTrackMail': this.canTrackMailNode.checked } }); }; Limits.prototype.switchMailConsentOption = function () { this.ajaxAction.request({ action: 'switchMailConsentOption', onsuccess: function (response) { }, data: { 'mailConsent': this.mailConsentNode.checked } }); }; Limits.prototype.switchSendingTimeOption = function () { this.sendingTimeConfigurationBlock.style.display= this.sendingTimeNode.checked ? 'block':'none'; this.ajaxAction.request({ action: 'switchSendingTimeOption', onsuccess: function (response) { }, data: { 'sendingTime': this.sendingTimeNode.checked } }); }; Limits.prototype.switchSendingTimeConfigurationBlock = function () { var viewHidden = this.sendingTimeViewBlock.style.display === 'none'; document.querySelector('.sender-sending-start-caption').textContent = this.sendingStartNode.value; document.querySelector('.sender-sending-end-caption').textContent = this.sendingEndNode.value; this.sendingTimeViewBlock.style.display = viewHidden ? 'block' : 'none'; this.sendingTimeEditBlock.style.display = viewHidden ? 'none' : 'block'; }; Limits.prototype.saveSendingTimeOptions = function () { this.sendingTimeSaveBtn.classList.add('ui-btn-wait'); this.ajaxAction.request({ action: 'setSendingTimeOption', onsuccess: function (response) { this.sendingTimeSaveBtn.classList.remove('ui-btn-wait'); BX.UI.Notification.Center.notify({ content: this.mess.success, position: 'top-right', autoHideDelay: 2000, }); this.switchSendingTimeConfigurationBlock(); }.bind(this), data: { 'sendingStart': this.sendingStartNode.value, 'sendingEnd': this.sendingEndNode.value } }); }; Limits.prototype.showMailPopup = function () { BX.Sender.B24License.showDefaultPopup(); }; Limits.prototype.showMailRatingPopup = function (e) { this.popup = BX.PopupWindowManager.create( 'sender-config-limit-mail-rating', null, { titleBar: this.mess.mailDailyLimitTitle, width: 620, height: 225, autoHide: true, lightShadow: true, closeByEsc: true, closeIcon: true, overlay: true, buttons: [ new BX.PopupWindowButton({ text: this.mess.close, className: "popup-window-button-accept", events: { click: function() { this.popupWindow.close(); } } }) ] } ); this.popup.setContent(this.mess.mailDailyLimit); this.popup.show(); }; BX.Sender.Config.Limits = new Limits(); })(window);