| Server IP : 146.59.209.152 / Your IP : 216.73.216.46 Web Server : Apache System : Linux webm005.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 User : infrafs ( 43850) PHP Version : 8.2.29 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/infrafs/www/wp-content/themes/trackstore/framework/admin/assets/js/ |
Upload File : |
(function($) {
$(document).ready(function() {
eltdUpdateIconOptions();
eltdInitAdditionalItemOptions();
});
/**
* Function that serializes additional menu item options in a single field.
*/
function eltdInitAdditionalItemOptions() {
var navForm = $('#update-nav-menu');
navForm.on('change', '[data-item-option]', function() {
eltdGenerateSerializedString();
});
}
function eltdGenerateSerializedString() {
var dataArrayString = '';
var navForm = $('#update-nav-menu');
var menuItemsData = navForm.find("[data-name]");
menuItemsData.each(function() {
//get it's value and name
var attributeName = $(this).data('name');
var attributeVal = $(this).val();
if(attributeVal !== '') {
//check if current field is checkbox
if($(this).is('input[type="checkbox"]')) {
//append it to serialized string only if it's checked
if($(this).is(':checked')) {
dataArrayString += attributeName+"="+attributeVal+'&';
}
} else {
dataArrayString += attributeName+"="+attributeVal+'&';
}
}
});
//remove last & character
dataArrayString = dataArrayString.substr(0, dataArrayString.length - 1);
if($('input[name="eltd_menu_options"]').length) {
$('input[name="eltd_menu_options"]').val(encodeURIComponent(dataArrayString));
} else {
//generate hidden input field html with serialized string value
var hiddenMenuItem = '<input type="hidden" name="eltd_menu_options" value="'+encodeURIComponent(dataArrayString)+'">';
//append hidden options field to navigation form
navForm.append(hiddenMenuItem);
}
}
/**
* Function that loads icon options via AJAX based on icon pack option
*/
function eltdUpdateIconOptions() {
var navForm = $('#update-nav-menu');
navForm.on('change', '[data-icon-pack]', function() {
var chosenIconPack = $(this).find('option:selected').val();
var iconDropdown = $(this).parents('p').first().next('.eltd-icon-select-holder').find('select');
var spinner = $(this).parents('li.menu-item').first().find('.spinner');
var data = {
action: 'update_admin_nav_icon_options',
icon_pack: chosenIconPack
}
spinner.show();
iconDropdown.attr('disabled', 'disabled');
$.post(ajaxurl, data, function(data){
iconDropdown.html(data)
spinner.hide();
iconDropdown.removeAttr('disabled');
});
});
}
})(jQuery);