OwlCyberSecurity - MANAGER
Edit File: cleantalk-admin-settings-page.min.js.map
{"version":3,"file":"cleantalk-admin-settings-page.min.js","sources":["cleantalk-admin-settings-page.js"],"sourcesContent":["jQuery(document).ready(function() {\n // Top level settings\n jQuery('.apbct_setting---data__email_decoder').on('click', (event) => {\n if ( event.target.type === 'checkbox' ) {\n let currentTarget = event.target.checked ? 1 : 2;\n document.querySelectorAll('input[id^=apbct_setting_data__email_decoder]')[currentTarget].checked = true;\n } else {\n document.getElementById('apbct_setting_data__email_decoder').checked = parseInt(event.target.value) === 1;\n }\n });\n\n // Crunch for Right to Left direction languages\n if (document.getElementsByClassName('apbct_settings-title')[0]) {\n if (getComputedStyle(document.getElementsByClassName('apbct_settings-title')[0]).direction === 'rtl') {\n jQuery('.apbct_switchers').css('text-align', 'right');\n }\n }\n\n // Show/Hide access key\n jQuery('#apbct_showApiKey').on('click', function(e) {\n e.preventDefault();\n jQuery(this).hide();\n jQuery('.apbct_settings-field--api_key').val(jQuery('.apbct_settings-field--api_key').attr('key'));\n jQuery('.apbct_settings-field--api_key+div').css('display', 'inline');\n });\n\n let d = new Date();\n let timezone = d.getTimezoneOffset()/60*(-1);\n jQuery('#ct_admin_timezone').val(timezone);\n\n // Key KEY automatically\n jQuery('#apbct_button__get_key_auto').on('click', function() {\n if (!jQuery('#apbct_license_agreed').is(':checked')) {\n jQuery('#apbct_settings__no_agreement_notice').show();\n apbctHighlightElement('apbct_license_agreed', 3);\n return;\n }\n apbct_admin_sendAJAX(\n {action: 'apbct_get_key_auto', ct_admin_timezone: timezone},\n {\n timeout: 25000,\n button: document.getElementById('apbct_button__get_key_auto' ),\n spinner: jQuery('#apbct_button__get_key_auto .apbct_preloader_button' ),\n callback: function(result, data, params, obj) {\n jQuery('#apbct_button__get_key_auto .apbct_success').show(300);\n setTimeout(function() {\n jQuery('#apbct_button__get_key_auto .apbct_success').hide(300);\n }, 2000);\n if (result.reload) {\n document.location.reload();\n }\n if (result.getTemplates) {\n cleantalkModal.loaded = result.getTemplates;\n cleantalkModal.open();\n document.addEventListener('cleantalkModalClosed', function( e ) {\n document.location.reload();\n });\n }\n },\n },\n );\n });\n\n // Import settings\n jQuery( document ).on('click', '#apbct_settings_templates_import_button', function() {\n jQuery('#apbct-ajax-result').remove();\n let optionSelected = jQuery('option:selected', jQuery('#apbct_settings_templates_import'));\n let templateNameInput = jQuery('#apbct_settings_templates_import_name');\n templateNameInput.css('border-color', 'inherit');\n if ( typeof optionSelected.data('id') === 'undefined' ) {\n console.log( 'Attribute \"data-id\" not set for the option.' );\n return;\n }\n let data = {\n 'template_id': optionSelected.data('id'),\n 'template_name': optionSelected.data('name'),\n 'settings': optionSelected.data('settings'),\n };\n let button = this;\n apbct_admin_sendAJAX(\n {action: 'settings_templates_import', data: data},\n {\n timeout: 25000,\n button: button,\n spinner: jQuery('#apbct_settings_templates_import_button .apbct_preloader_button' ),\n notJson: true,\n callback: function(result, data, params, obj) {\n if (result.success) {\n jQuery( '<p id=\\'apbct-ajax-result\\' class=\\'success\\'>' + result.data + '</p>' )\n .insertAfter( jQuery(button) );\n jQuery('#apbct_settings_templates_import_button .apbct_success').show(300);\n setTimeout(function() {\n jQuery('#apbct_settings_templates_import_button .apbct_success').hide(300);\n }, 2000);\n document.addEventListener('cleantalkModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n cleantalkModal.close();\n }, 2000);\n } else {\n jQuery( '<p id=\\'apbct-ajax-result\\' class=\\'error\\'>' + result.data + '</p>' )\n .insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n // Export settings\n jQuery( document ).on('click', '#apbct_settings_templates_export_button', function() {\n jQuery('#apbct-ajax-result').remove();\n let optionSelected = jQuery('option:selected', jQuery('#apbct_settings_templates_export'));\n let templateNameInput = jQuery('#apbct_settings_templates_export_name');\n let data = {};\n templateNameInput.css('border-color', 'inherit');\n if ( typeof optionSelected.data('id') === 'undefined' ) {\n console.log( 'Attribute \"data-id\" not set for the option.' );\n return;\n }\n if ( optionSelected.data('id') === 'new_template' ) {\n let templateName = templateNameInput.val();\n if ( templateName === '' ) {\n templateNameInput.css('border-color', 'red');\n return;\n }\n data = {\n 'template_name': templateName,\n };\n } else {\n data = {\n 'template_id': optionSelected.data('id'),\n };\n }\n let button = this;\n apbct_admin_sendAJAX(\n {action: 'settings_templates_export', data: data},\n {\n timeout: 25000,\n button: button,\n spinner: jQuery('#apbct_settings_templates_export_button .apbct_preloader_button' ),\n notJson: true,\n callback: function(result, data, params, obj) {\n if (result.success) {\n jQuery( '<p id=\\'apbct-ajax-result\\' class=\\'success\\'>' + result.data + '</p>' )\n .insertAfter( jQuery(button) );\n jQuery('#apbct_settings_templates_export_button .apbct_success').show(300);\n setTimeout(function() {\n jQuery('#apbct_settings_templates_export_button .apbct_success').hide(300);\n }, 2000);\n document.addEventListener('cleantalkModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n cleantalkModal.close();\n }, 2000);\n } else {\n jQuery( '<p id=\\'apbct-ajax-result\\' class=\\'error\\'>' + result.data + '</p>' )\n .insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n // Reset settings\n jQuery( document ).on('click', '#apbct_settings_templates_reset_button', function() {\n let button = this;\n apbct_admin_sendAJAX(\n {action: 'settings_templates_reset'},\n {\n timeout: 25000,\n button: button,\n spinner: jQuery('#apbct_settings_templates_reset_button .apbct_preloader_button' ),\n notJson: true,\n callback: function(result, data, params, obj) {\n if (result.success) {\n jQuery( '<p id=\\'apbct-ajax-result\\' class=\\'success\\'>' + result.data + '</p>' )\n .insertAfter( jQuery(button) );\n jQuery('#apbct_settings_templates_reset_button .apbct_success').show(300);\n setTimeout(function() {\n jQuery('#apbct_settings_templates_reset_button .apbct_success').hide(300);\n }, 2000);\n document.addEventListener('cleantalkModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n cleantalkModal.close();\n }, 2000);\n } else {\n jQuery( '<p id=\\'apbct-ajax-result\\' class=\\'error\\'>' + result.data + '</p>' )\n .insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n // Sync button\n jQuery('#apbct_button__sync').on('click', function() {\n apbct_admin_sendAJAX(\n {action: 'apbct_sync'},\n {\n timeout: 25000,\n button: document.getElementById('apbct_button__sync' ),\n spinner: jQuery('#apbct_button__sync .apbct_preloader_button' ),\n callback: function(result, data, params, obj) {\n jQuery('#apbct_button__sync .apbct_success').show(300);\n setTimeout(function() {\n jQuery('#apbct_button__sync .apbct_success').hide(300);\n }, 2000);\n if (result.reload) {\n if ( ctSettingsPage.key_changed ) {\n jQuery('.key_changed_sync').hide(300);\n jQuery('.key_changed_success').show(300);\n setTimeout(function() {\n document.location.reload();\n }, 3000);\n } else {\n document.location.reload();\n }\n }\n },\n },\n );\n });\n\n if ( ctSettingsPage.key_changed ) {\n jQuery('#apbct_button__sync').click();\n }\n\n jQuery(document).on('click', '.apbct_settings-long_description---show', function() {\n self = jQuery(this);\n apbctSettingsShowDescription(self, self.attr('setting'));\n });\n\n if (jQuery('#cleantalk_notice_renew').length || jQuery('#cleantalk_notice_trial').length) {\n apbctBannerCheck();\n }\n\n jQuery(document).on('change', '#apbct_settings_templates_export', function() {\n let optionSelected = jQuery('option:selected', this);\n if ( optionSelected.data('id') === 'new_template' ) {\n jQuery(this).parent().parent().find('#apbct_settings_templates_export_name').show();\n } else {\n jQuery(this).parent().parent().find('#apbct_settings_templates_export_name').hide();\n }\n });\n\n apbctSaveButtonPosition();\n let debounceTimer;\n window.addEventListener('scroll', function() {\n clearTimeout(debounceTimer);\n debounceTimer = setTimeout(function() {\n apbctSaveButtonPosition();\n }, 50);\n apbctNavigationMenuPosition();\n });\n jQuery('#ct_adv_showhide a').on('click', apbctSaveButtonPosition);\n\n\n /**\n * Change cleantalk account email\n */\n jQuery('#apbct-change-account-email').on('click', function(e) {\n e.preventDefault();\n\n let $this = jQuery(this);\n let accountEmailField = jQuery('#apbct-account-email');\n let accountEmail = accountEmailField.text();\n\n $this.toggleClass('active');\n\n if ($this.hasClass('active')) {\n $this.text($this.data('save-text'));\n accountEmailField.attr('contenteditable', 'true');\n accountEmailField.on('keydown', function(e) {\n if (e.code === 'Enter') {\n e.preventDefault();\n }\n });\n accountEmailField.on('input', function(e) {\n if (e.inputType === 'insertParagraph') {\n e.preventDefault();\n }\n });\n } else {\n apbct_admin_sendAJAX(\n {\n action: 'apbct_update_account_email',\n accountEmail: accountEmail,\n },\n {\n timeout: 5000,\n callback: function(result, data, params, obj) {\n if (result.success !== undefined && result.success === 'ok') {\n if (result.manuallyLink !== undefined) {\n jQuery('#apbct-key-manually-link').attr('href', result.manuallyLink);\n }\n }\n\n if (result.error !== undefined) {\n jQuery('#apbct-account-email').css('border-color', 'red');\n }\n },\n },\n );\n\n accountEmailField.attr('contenteditable', 'false');\n $this.text($this.data('default-text'));\n }\n });\n\n /**\n * Validate apkikey and hide get auto btn\n */\n jQuery('#apbct_setting_apikey').on('input', function() {\n let enteredValue = jQuery(this).val();\n jQuery('#apbct_settings__key_line__save_settings').off('click');\n let keyBad = enteredValue !== '' && enteredValue.match(/^[a-z\\d]{8,30}\\s*$/) === null;\n jQuery('#apbct_settings__key_is_bad').hide();\n jQuery('#apbct_showApiKey').hide();\n jQuery('#apbct_settings__account_name_ob').hide();\n jQuery('#apbct_settings__no_agreement_notice').hide();\n if (enteredValue === '') {\n jQuery('#apbct_button__key_line__save_changes_wrapper').hide();\n jQuery('#apbct_button__get_key_auto__wrapper').show();\n jQuery('#apbct_button__get_key_manual_chunk').show();\n } else {\n jQuery('#apbct_button__key_line__save_changes_wrapper').show();\n jQuery('#apbct_button__get_key_auto__wrapper').hide();\n jQuery('#apbct_button__get_key_manual_chunk').hide();\n if (keyBad) {\n jQuery('#apbct_settings__key_line__save_settings').on('click',\n function(e) {\n e.preventDefault();\n jQuery('#apbct_settings__key_is_bad').show();\n apbctHighlightElement('apbct_setting_apikey', 3);\n },\n );\n }\n }\n });\n\n if ( jQuery('#apbct_setting_apikey').val() && ctSettingsPage.key_is_ok) {\n jQuery('#apbct_button__get_key_auto__wrapper').hide();\n }\n\n /**\n * Handle synchronization errors when key is no ok to force user check the key and restart the sync\n */\n if ( !ctSettingsPage.key_is_ok ) {\n jQuery('button.cleantalk_link[value=\"save_changes\"]').on('click',\n function(e) {\n e.preventDefault();\n if (!jQuery('#sync_required_notice').length) {\n jQuery( '<div class=\\'apbct_notice_inner error\\'><h4 id=\\'sync_required_notice\\'>' +\n 'Synchronization process failed. Please, check the acces key and restart the synch.' +\n '<h4></div>' ).insertAfter( jQuery('#apbct_button__sync') );\n }\n apbctHighlightElement('apbct_setting_apikey', 3);\n apbctHighlightElement('apbct_button__sync', 3);\n jQuery('#apbct_button__get_key_auto__wrapper').show();\n },\n );\n }\n\n /**\n * Open WP gallery for adding custom logo\n */\n jQuery('#apbct-custom-logo-open-gallery').click(function(e) {\n e.preventDefault();\n\n const button = jQuery(this);\n\n const customUploader = wp.media({\n library: {\n type: 'image',\n },\n multiple: false,\n });\n\n customUploader.on('select', function() {\n const image = customUploader.state().get('selection').first().toJSON();\n\n button.parent().prev().attr( 'src', image.url );\n jQuery('#cleantalk_custom_logo').val( image.id );\n });\n\n customUploader.open();\n });\n\n /**\n * Remove selected logo\n */\n jQuery('#apbct-custom-logo-remove-image').click(function(e) {\n e.preventDefault();\n\n if ( true === confirm( 'Sure?' ) ) {\n const src = jQuery(this).parent().prev().data('src');\n jQuery(this).parent().prev().attr('src', src);\n jQuery(this).prev().prev().val('');\n }\n });\n\n jQuery('button[id*=\"apbct-action-adjust-change-\"]').click(function(e) {\n e.preventDefault();\n\n let data = {};\n data.action = 'apbct_action_adjust_change';\n data.adjust = jQuery(this).data('adjust');\n\n let params = {};\n params.button = document.getElementById('apbct-action-adjust-change-' + data.adjust);\n params.notJson = true;\n\n params.callback = function() {\n document.location.reload();\n };\n\n apbct_admin_sendAJAX(data, params);\n });\n\n jQuery('button[id*=\"apbct-action-adjust-reverse-\"]').click(function(e) {\n e.preventDefault();\n\n let data = {};\n data.action = 'apbct_action_adjust_reverse';\n data.adjust = jQuery(this).data('adjust');\n\n let params = {};\n params.button = document.getElementById('apbct-action-adjust-reverse-' + data.adjust);\n params.notJson = true;\n\n params.callback = function() {\n document.location.reload();\n };\n\n apbct_admin_sendAJAX(data, params);\n });\n\n document.querySelector('.apbct_hidden_section_nav_mob_btn').addEventListener('click', () => {\n document.querySelector('#apbct_hidden_section_nav ul').style.display = 'block';\n document.querySelector('.apbct_hidden_section_nav_mob_btn').style.display = 'none';\n });\n\n document.querySelector('.apbct_hidden_section_nav_mob_btn-close').addEventListener('click', () => {\n document.querySelector('#apbct_hidden_section_nav ul').style.display = 'none';\n document.querySelector('.apbct_hidden_section_nav_mob_btn').style.display = 'block';\n });\n\n // Hide/show EmailEncoder replacing text textarea\n apbctManageEmailEncoderCustomTextField();\n\n if (window.location.hash) {\n const anchor = window.location.hash.substring(1);\n handleAnchorDetection(anchor);\n }\n});\n\n/**\n * Detect ancors and open advanced settings before scroll\n * @param {string} anchor\n */\nfunction handleAnchorDetection(anchor) {\n let advSettings = document.querySelector('#apbct_settings__advanced_settings');\n if ( 'none' === advSettings.style.display ) {\n apbctExceptedShowHide('apbct_settings__advanced_settings');\n }\n scrollToAnchor('#' + anchor);\n}\n\n/**\n * Scroll to the target element ID\n * @param {string} anchorId Anchor target element ID\n */\nfunction scrollToAnchor(anchorId) {\n const targetElement = document.querySelector(anchorId);\n if (targetElement) {\n targetElement.scrollIntoView({\n block: 'end',\n });\n }\n}\n\n/**\n * Hide/show EmailEncoder replacing text textarea\n */\nfunction apbctManageEmailEncoderCustomTextField() {\n const replacingText = document\n .querySelector('#apbct_setting_data__email_decoder_obfuscation_custom_text');\n let replacingTextWrapperSub;\n if (replacingText !== null) {\n replacingTextWrapperSub = typeof replacingText.parentElement !== 'undefined' ?\n replacingText.parentElement :\n null;\n }\n document.querySelectorAll('.apbct_setting---data__email_decoder_obfuscation_mode').forEach((elem) => {\n // visibility set on saved settings\n if (replacingTextWrapperSub && elem.checked && elem.value !== 'replace') {\n replacingTextWrapperSub.classList.add('hidden');\n }\n // visibility set on change\n elem.addEventListener('click', (event) => {\n if (typeof replacingTextWrapperSub !== 'undefined') {\n if (event.target.value === 'replace') {\n replacingTextWrapperSub.classList.remove('hidden');\n } else {\n replacingTextWrapperSub.classList.add('hidden');\n }\n }\n });\n });\n}\n\n/**\n * Checking current account status for renew notice\n */\nfunction apbctBannerCheck() {\n let bannerChecker = setInterval( function() {\n apbct_admin_sendAJAX(\n {action: 'apbct_settings__check_renew_banner'},\n {\n callback: function(result, data, params, obj) {\n if (result.close_renew_banner) {\n if (jQuery('#cleantalk_notice_renew').length) {\n jQuery('#cleantalk_notice_renew').hide('slow');\n }\n if (jQuery('#cleantalk_notice_trial').length) {\n jQuery('#cleantalk_notice_trial').hide('slow');\n }\n clearInterval(bannerChecker);\n }\n },\n },\n );\n }, 900000);\n}\n\n/**\n * Select elems like #{selector} or .{selector}\n * Selector passed in string separated by ,\n *\n * @param {string|array} elems\n * @return {*}\n */\nfunction apbctGetElems(elems) {\n elems = elems.split(',');\n for ( let i=0, len = elems.length, tmp; i < len; i++) {\n tmp = jQuery('#'+elems[i]);\n elems[i] = tmp.length === 0 ? jQuery('.'+elems[i]) : tmp;\n }\n return elems;\n}\n\n/**\n * Select elems like #{selector} or .{selector}\n * Selector could be passed in a string ( separated by comma ) or in array ( [ elem1, elem2, ... ] )\n *\n * @param {string|array} elems\n * @return {array}\n */\nfunction apbctGetElemsNative(elems) {\n // Make array from a string\n if (typeof elems === 'string') {\n elems = elems.split(',');\n }\n\n let out = [];\n\n elems.forEach(function(elem, i, arr) {\n // try to get elements with such IDs\n let tmp = document.getElementById(elem);\n if (tmp !== null) {\n out.push( tmp[key] );\n return;\n }\n\n // try to get elements with such class name\n // write each elem from collection to new element of output array\n tmp = document.getElementsByClassName(elem);\n if (tmp !== null && tmp.length !==0 ) {\n for (key in tmp) {\n if ( +key >= 0 ) {\n out.push( tmp[key] );\n }\n }\n }\n });\n\n return out;\n}\n\n/**\n * @param {string|array} elems\n */\nfunction apbctShowHideElem(elems) {\n elems = apbctGetElems(elems);\n for ( let i=0, len = elems.length; i < len; i++) {\n elems[i].each(function(i, elem) {\n elem = jQuery(elem);\n let label = elem.next('label') || elem.prev('label') || null;\n if (elem.is(':visible')) {\n elem.hide();\n if (label) label.hide();\n } else {\n elem.show();\n if (label) label.show();\n }\n });\n }\n}\n\n/**\n * @param {string|array} element\n */\nfunction apbctExceptedShowHide(element) { // eslint-disable-line no-unused-vars\n let toHide = [\n 'apbct_settings__dwpms_settings',\n 'apbct_settings__advanced_settings',\n 'trusted_and_affiliate__special_span',\n ];\n let index = toHide.indexOf(element);\n if (index !== -1) {\n toHide.splice(index, 1);\n }\n apbctShowHideElem(element);\n toHide.forEach((toHideElem) => {\n if (document.getElementById(toHideElem) && document.getElementById(toHideElem).style.display !== 'none') {\n apbctShowHideElem(toHideElem);\n }\n });\n}\n\n/**\n * @param {mixed} event\n * @param {string} id\n */\nfunction apbctShowRequiredGroups(event, id) { // eslint-disable-line no-unused-vars\n let required = document.getElementById('apbct_settings__dwpms_settings');\n if (required && required.style.display === 'none') {\n let originEvent = event;\n event.preventDefault();\n apbctShowHideElem('apbct_settings__dwpms_settings');\n document.getElementById(id).dispatchEvent(new originEvent.constructor(originEvent.type, originEvent));\n }\n}\n\n/**\n * Settings dependences. Switch|toggle depended elements state (disabled|enabled)\n * Recieve list of selectors ( without class mark (.) or id mark (#) )\n *\n * @param {string|array} ids\n * @param {int} enable\n */\nfunction apbctSettingsDependencies(ids, enable) { // eslint-disable-line no-unused-vars\n enable = ! isNaN(enable) ? enable : null;\n\n // Get elements\n let elems = apbctGetElemsNative( ids );\n\n elems.forEach(function(elem, i, arr) {\n let doDisable = function() {\n elem.setAttribute('disabled', 'disabled');\n };\n let doEnable = function() {\n elem.removeAttribute('disabled');\n };\n\n // Set defined state\n if (enable === null) {\n enable = elem.getAttribute('disabled') === null ? 0 : 1;\n }\n\n enable === 1 ? doEnable() : doDisable();\n\n if ( elem.getAttribute('apbct_children') !== null) {\n let state = apbctSettingsDependenciesGetState( elem ) && enable;\n if ( state !== null ) {\n apbctSettingsDependencies( elem.getAttribute('apbct_children'), state );\n }\n }\n });\n}\n\n/**\n * @param {HTMLElement} elem\n * @return {int|null}\n */\nfunction apbctSettingsDependenciesGetState(elem) {\n let state;\n\n switch ( elem.getAttribute( 'type' ) ) {\n case 'checkbox':\n state = +elem.checked;\n break;\n case 'radio':\n state = +(+elem.getAttribute('value') === 1);\n break;\n default:\n state = null;\n }\n\n return state;\n}\n\n/**\n * @param {HTMLElement} label\n * @param {string} settingId\n */\nfunction apbctSettingsShowDescription(label, settingId) {\n let removeDescFunc = function(e) {\n const callerIsPopup = jQuery(e.target).parent('.apbct_long_desc').length != 0;\n const callerIsHideCross = jQuery(e.target).hasClass('apbct_long_desc__cancel');\n const descIsShown = jQuery('.apbct_long_desc__title').length > 0;\n if (descIsShown && !callerIsPopup || callerIsHideCross) {\n jQuery('.apbct_long_desc').remove();\n jQuery(document).off('click', removeDescFunc);\n }\n };\n\n label.after('<div id=\\'apbct_long_desc__'+settingId+'\\' class=\\'apbct_long_desc\\'></div>');\n let obj = jQuery('#apbct_long_desc__'+settingId);\n obj.append('<i class= \\'apbct-icon-spin1 animate-spin\\'></i>')\n .append('<div class=\\'apbct_long_desc__angle\\'></div>')\n .css({\n top: label.position().top - 5,\n left: label.position().left + 25,\n });\n\n\n apbct_admin_sendAJAX(\n {action: 'apbct_settings__get__long_description', setting_id: settingId},\n {\n spinner: obj.children('img'),\n callback: function(result, data, params, obj) {\n obj.empty()\n .append('<div class=\\'apbct_long_desc__angle\\'></div>')\n .append('<i class=\\'apbct_long_desc__cancel apbct-icon-cancel\\'></i>')\n .append('<h3 class=\\'apbct_long_desc__title\\'>'+result.title+'</h3>')\n .append('<p>'+result.desc+'</p>');\n\n jQuery(document).on('click', removeDescFunc);\n },\n },\n obj,\n );\n}\n\n/**\n * Set position for navigation menu\n * @return {void}\n */\nfunction apbctNavigationMenuPosition() {\n const navBlock = document.querySelector('#apbct_hidden_section_nav ul');\n const rightBtnSave = document.querySelector('#apbct_settings__button_section');\n if (!navBlock || !rightBtnSave) {\n return;\n }\n const scrollPosition = window.scrollY;\n const windowWidth = window.innerWidth;\n if (scrollPosition > 1000) {\n navBlock.style.position = 'fixed';\n rightBtnSave.style.position = 'fixed';\n } else {\n navBlock.style.position = 'static';\n rightBtnSave.style.position = 'static';\n }\n\n if (windowWidth < 768) {\n rightBtnSave.style.position = 'fixed';\n }\n}\n\n/**\n * Set position for save button, hide it if scrolled to the bottom\n * @return {void}\n */\nfunction apbctSaveButtonPosition() {\n if (\n document.getElementById('apbct_settings__before_advanced_settings') === null ||\n document.getElementById('apbct_settings__after_advanced_settings') === null ||\n document.getElementById('apbct_settings__button_section') === null ||\n document.getElementById('apbct_settings__advanced_settings') === null ||\n document.getElementById('apbct_hidden_section_nav') === null\n ) {\n return;\n }\n\n if (!ctSettingsPage.key_is_ok) {\n jQuery('#apbct_settings__main_save_button').hide();\n return;\n }\n\n const additionalSaveButton =\n document.querySelector('#apbct_settings__button_section, cleantalk_link[value=\"save_changes\"]');\n if (!additionalSaveButton) {\n return;\n }\n\n const scrollPosition = window.scrollY;\n const documentHeight = document.documentElement.scrollHeight;\n const windowHeight = window.innerHeight;\n const threshold = 800;\n if (scrollPosition + windowHeight >= documentHeight - threshold) {\n additionalSaveButton.style.display = 'none';\n } else {\n additionalSaveButton.style.display = 'block';\n }\n\n const advSettingsBlock = document.getElementById('apbct_settings__advanced_settings');\n const mainSaveButton = document.getElementById('apbct_settings__block_main_save_button');\n if (!advSettingsBlock || !mainSaveButton) {\n return;\n }\n\n if (advSettingsBlock.style.display == 'none') {\n mainSaveButton.classList.remove('apbct_settings__position_main_save_button');\n } else {\n mainSaveButton.classList.add('apbct_settings__position_main_save_button');\n }\n}\n\n/**\n * Hightlights element\n *\n * @param {string} id\n * @param {int} times\n */\nfunction apbctHighlightElement(id, times) {\n times = times-1 || 0;\n let keyField = jQuery('#'+id);\n jQuery('html, body').animate({scrollTop: keyField.offset().top - 100}, 'slow');\n keyField.addClass('apbct_highlighted');\n keyField.animate({opacity: 0}, 400, 'linear', function() {\n keyField.animate({opacity: 1}, 400, 'linear', function() {\n if (times>0) {\n apbctHighlightElement(id, times);\n } else {\n keyField.removeClass('apbct_highlighted');\n }\n });\n });\n}\n"],"names":["handleAnchorDetection","anchor","document","querySelector","style","display","apbctExceptedShowHide","scrollToAnchor","anchorId","targetElement","scrollIntoView","block","apbctManageEmailEncoderCustomTextField","replacingText","let","replacingTextWrapperSub","parentElement","querySelectorAll","forEach","elem","checked","value","classList","add","addEventListener","event","target","remove","apbctBannerCheck","bannerChecker","setInterval","apbct_admin_sendAJAX","action","callback","result","data","params","obj","close_renew_banner","jQuery","length","hide","clearInterval","apbctGetElems","elems","i","len","split","tmp","apbctGetElemsNative","out","arr","getElementById","push","key","getElementsByClassName","apbctShowHideElem","each","label","next","prev","is","show","element","toHide","index","indexOf","splice","toHideElem","apbctShowRequiredGroups","id","required","originEvent","preventDefault","dispatchEvent","constructor","type","apbctSettingsDependencies","ids","enable","isNaN","state","getAttribute","removeAttribute","setAttribute","apbctSettingsDependenciesGetState","apbctSettingsShowDescription","settingId","removeDescFunc","e","callerIsPopup","parent","callerIsHideCross","hasClass","off","after","append","css","top","position","left","setting_id","spinner","children","empty","title","desc","on","apbctNavigationMenuPosition","scrollPosition","windowWidth","navBlock","rightBtnSave","window","scrollY","innerWidth","apbctSaveButtonPosition","advSettingsBlock","mainSaveButton","ctSettingsPage","key_is_ok","additionalSaveButton","documentHeight","documentElement","scrollHeight","innerHeight","apbctHighlightElement","times","keyField","animate","scrollTop","offset","addClass","opacity","removeClass","ready","currentTarget","parseInt","getComputedStyle","direction","this","val","attr","timezone","Date","getTimezoneOffset","ct_admin_timezone","timeout","button","setTimeout","reload","location","getTemplates","cleantalkModal","loaded","open","optionSelected","console","log","template_id","template_name","settings","notJson","success","insertAfter","close","templateNameInput","templateName","key_changed","click","self","find","debounceTimer","clearTimeout","$this","accountEmailField","accountEmail","text","toggleClass","code","inputType","undefined","manuallyLink","error","enteredValue","keyBad","match","customUploader","wp","media","library","multiple","image","get","first","toJSON","url","confirm","src","adjust","hash","substring"],"mappings":"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"}