(function ($) { 'use strict'; // New Select Mechanism var ajaxCall = function (query, callback) { var field = this, value = field.element.find('input').attr('value'); if (!query.length || query.length < 3) return callback(); var request = wp.ajax.send(field.ajax, { data: { query: query, nonce: field.nonce, slug: field.slug, value: value } }); request.done(function (response) { callback(response); }); }; $('.vc-select-wrapper').each(function () { var element = $(this), ajax = element.data('ajax'), multiple = element.data('multiple'), nonce = element.data('nonce'), slug = element.data('slug'), input, setting; if (multiple > 1) { var optionText = $(this).find('.data-option').text(); var options = JSON.parse(optionText); input = $(this).find('input'); setting = { plugins: ['drag_drop', 'remove_button'], multiple: multiple, hideSelected: true, persist: true, options: options, render: { option: function (item) { return '
' + item.text + '
'; } } }; } else { input = $(this).find('select'); setting = { allowEmptyOption: true }; } if (ajax !== '') { setting.load = ajaxCall.bind({ ajax: ajax, nonce: nonce, slug: slug, element: element }); setting.create = true; } $(input).selectize(setting); }); // Number.js $('.number-input-wrapper input[type=text]').each(function () { var element = this, min = $(this).attr('min'), max = $(this).attr('max'), step = $(this).attr('step'); $(element).spinner({ min: min, max: max, step: step }); }); // Checkblock.js $('.wp-tab-panel.vc_checkblock').each(function () { var parent = this; var input = $(parent).find('.wpb-input'); $(this).find('.checkblock').on('click', function () { var result = []; $(parent).find('.checkblock').each(function () { if ($(this).is(":checked")) { result.push($(this).val()); } }); $(input).val(result); }); }); // Radioimage.js window.vc.atts.radioimage = { init: function (param, $field) { $('.radio-image-wrapper label input', $field).change(function () { var $input = $(this).closest('.radio-image-wrapper').find('.wpb_vc_param_value'); $input.val($(this).val()).trigger('change'); }); } }; // Slider.js $('.slider-input-wrapper').each(function () { var element = $(this), input = element.find('input[type=range]'); input.on('mousedown', function () { $(this).mousemove(function () { element.find('.jeg_range_value .value').text($(this).val()); }); }); input.on('click', function () { element.find('.jeg_range_value .value').text($(this).val()); }); element.find('.jeg-slider-reset').on('click', function () { var thisInput = $(this).parent().find('input'), inputDefault = thisInput.data('reset_value') thisInput.val(inputDefault); thisInput.change(); element.find('.jeg_range_value .value').text(inputDefault); }); }); // File.js $(".input-uploadfile").each(function () { var element = this; var input = $(element).find('input[type="text"]'); $(this).find('.selectfileimage').on('click', function (e) { e.preventDefault(); //Extend the wp.media object var custom_uploader = wp.media.frames.file_frame = wp.media({ multiple: false }); //When a file is selected, grab the URL and set it as the text field's value custom_uploader.on('select', function () { var attachment = custom_uploader.state().get('selection').first().toJSON(); var url = attachment.url; input.val(url); }); //Open the uploader dialog custom_uploader.open(); }); }); })(window.jQuery);