var $ = jQuery; (function( $ ) { 'use strict'; $(document).on('change', '[data-changedata="1"]', function() { var data = $(this).data(); if (data.typeaction == 'syncterms') { syncTerm($, data, event.target); } }).on('click', function (event) { // OFF RESULT LIST var listResult = $('.listResult'); if (!listResult.is(event.target) && listResult.has(event.target).length === 0) { listResult.remove(); } }).on('blur', '[data-searchajax]', function (event) { }).on('input', '[data-searchajax]', function (event) { var data = $(event.target).data(); if (data.type === 'custom_fields') { autocompleteCf($, event.target); } }).ready(function(){ $('[data-changedata="1"]').each(function () { var data = $(this).data(); syncTerm($, data, this); }); }); // SWATCH COLOR $(document).ready(function(event){ $('.taxonomySelect').trigger('change'); }).on('change', '.taxonomySelect', function(event){ var targetCurent = event.target; var query = { action: 'get_terms', taxonomy: $(targetCurent).val() }; var url = ajaxurl + '?' + $.param(query); $.get(url, function (res) { var $target = $(targetCurent).closest('.blockSwatchColor').find('.termsSelect'); var oldJson = $(targetCurent).closest('.blockSwatchColor').find('.jsonData').text(); oldJson = JSON.parse(oldJson); if (res.success) { var options = ''; $.each(res.data, function (key, val) { var _status = ''; if ( typeof oldJson['color'] != 'undefined') { if ( typeof oldJson['color'][val.term_id] != 'undefined') { _status = 'selected'; } } options += ''; }); $target.html(options); } else { $target.html(''); } $target.trigger('change'); $target.trigger('chosen:updated'); }); }).on('change', '.blockSwatchColor .termsSelect', function (event) { var value = $(event.target).val(); var html = ''; var nameInput = $(event.target).attr('name'); nameInput = nameInput.replace('terms', 'color'); var oldJson = $(event.target).closest('.blockSwatchColor').find('.jsonData').text(); var dataColor = JSON.parse(oldJson); $.each(value, function(i, v) { var termName = $(event.target).find('[value="'+ v +'"]').text(); var _nameInput = nameInput.replace('[]', '['+ v +']'); var oldValue = ''; if ( typeof dataColor['color'] != 'undefined') { if ( typeof dataColor['color'][v] != 'undefined') { oldValue = dataColor['color'][v] ; } } html += ''; html += ''; html += ''; html += ''; html += ''; html += ' #'; html += ''; html += ''; }); $(event.target).closest('.blockSwatchColor').find('.tableInputColor').html(html); }); })( jQuery ); function autocompleteCf($, target) { var url = ajaxurl + '?' + $.param({ post_type : $('[data-depend-id="filter_post_type_source"]').val(), q : $(target).val(), action: 'get_keys' }); $.get(url, function (res) { var $parent = $(target).closest('.cs-fieldset'); if ($parent.find('.listResult').length <= 0) { var html = '
'; $parent.append(html); } else { $parent.find('.listResult').html(''); } if (res.success) { html = ''; $.each(res.data, function(k, v) { html += '' }); $parent.find('.listResult').html(html); } else { $parent.find('.listResult').html(''); } }); } function liveSearchPin(event) { var vl = $(event.target).text(); $(event.target).closest('.cs-fieldset').find('[data-searchajax]').val(vl); $(event.target).closest('.listResult').remove(); } function syncTerm($, data, targetCurent) { if ( typeof data.target === 'string' && typeof data.wrapper === 'string' && $(targetCurent).closest(data.wrapper).length > 0 && $(targetCurent).closest(data.wrapper).find('[data-id='+ data.target +']').length > 0 ) { var query = { action: 'get_terms', taxonomy: $(targetCurent).val() }; url = ajaxurl + '?' + $.param(query); $.get(url, function (res) { $target = $(targetCurent).closest(data.wrapper).find('[data-id='+ data.target +']'); if (res.success) { var options = ''; var _data_element = $target.data(); _data_element = _data_element.valueselected.toString(); var _data = _data_element.split(','); _data_element = {}; $.each(_data, function (i, v) { _data_element[v] = v; }); $.each(res.data, function (key, val) { var _status = ( typeof _data_element[val.term_id] !== 'undefined' ? 'selected' : '' ); options += ''; }); $target.html(options); } else { $target.html(''); } $target.trigger('change'); $target.trigger('chosen:updated'); }); } } function ActionSelectAll(event) { jQuery(event.target).closest('.cs-fieldset').find('select').find('option').prop('selected', true); jQuery(event.target).closest('.cs-fieldset').find('select').trigger('chosen:updated'); } function ActionUnSelectAll(event) { jQuery(event.target).closest('.cs-fieldset').find('select').find('option').prop('selected', false); jQuery(event.target).closest('.cs-fieldset').find('select').trigger('chosen:updated'); }