// ========================================================================================
// Дружим Contact Form 7 c WC Fields Factory и с Art WooCommerce Order One Click
//
// Скрипт вставляет доп. поля WC Fields Factory в попап окно Art WooCommerce Order One Click, при отправке формы вставляет значения из доп полей в скрыты input
//
//Art WooCommerce Order One Click
//https://ru.wordpress.org/plugins/art-woocommerce-order-one-click/
//
//WC Fields Factory
//https://pe.wordpress.org/plugins/wc-fields-factory/
// START
// ========================================================================================
jQuery(document).ready(function($){
// watch the content
$(".summary.entry-summary").watch({
properties: "top,left,opacity,display,attr_class,prop_innerHTML",
watchChildren: true,
callback: function (data, i) {
// ==============================================================
// Если на странице отсутствует блок для перемещения
if (!$('.awooc-col.columns-right form table.wccpf_fields_table').length > 0){
// Указываем родительский блок, блоков для перемещения и вставки
$("body.single-product").each(function(){
// Указываем то что нам необходимо переместить
var Peremeschaemuy = 'form.cart .wccpf-fields-container table.wccpf_fields_table';
// Тщем перемещаемый блок
var ForAfterInsertVAR = $(this).find(Peremeschaemuy);
// Вставляем перемещаемый блок за или перед необходимым элементом страницы
ForAfterInsertVAR.clone().insertBefore($(this).find('.awooc-col.columns-right input.wpcf7-form-control.wpcf7-submit'));
});
// console.log("Блока в теле страницы нет");
//
// Если на странице ПРИСУТСТВУЕТ блок для перемещения
} else if ($('.awooc-col.columns-right form table.wccpf_fields_table').length > 0){
// console.log("Блок вставлен");
}
// Отправляем значения полей плагина для Woocommerce в HidenInput CF7
$('.awooc-col.columns-right input.wpcf7-form-control.wpcf7-submit').on('click',function(){
var wccpf_fields_table = $(this).closest('form.wpcf7-form').find('table.wccpf_fields_table');
var label = wccpf_fields_table.find('td.wccpf_label').text();
var vol = wccpf_fields_table.find('td.wccpf_value input.wccpf-field').attr('value');
//---------------------------------------
// создание пустого ассоциативного массива
// Годный урок
// https://itchief.ru/javascript/associative-arrays
var KeyAndValue = new Map();
var Insert;
$(this).closest('form.wpcf7-form').find('table.wccpf_fields_table').each(function(){
var Label = $(this).find('tbody td.wccpf_label');
var LabelText = $(this).find('tbody td.wccpf_label').text()+': ';
var Value = $(this).find('tbody td.wccpf_value input').attr('value');
// console.log($(this).html());
// добавить в массив одну пару "ключ-значение"
KeyAndValue.set(LabelText,Value);
// console.log(KeyAndValue);
// И погнали перебрать
for (let pair of KeyAndValue.entries()) {
// pair - это массив [key, values]
// console.log(pair[0]); // ключ
// console.log(pair[1]); // значение
// console.log(`Ключ = ${pair[0]}, значение = ${pair[1]}`);
var Insert = Insert + ' ✅'+pair[0]+pair[1]+' ';
}
Insert = Insert.replace('undefined', '');
// console.log(Insert);
// Очищаем переменную
//<br>
$(this).closest('form.wpcf7-form').find('input#HIDDENINPUT').attr('value', Insert);
// console.log(Label.text()+': '+Value);
});
//---------------------------------------
});
// ==============================================================
}
});
});
// ========================================================================================
// Дружим Contact Form 7 c WC Fields Factory и с Art WooCommerce Order One Click
// END
// ========================================================================================