jQuery(function ($) { //tab menu change_tab_menu(); //custom orders order_list(); //order type change_sort_box(); //Tax select select_tax(); //per page change_search_per_page(); change_tax_per_page(); change_normal_field_sort(); custom_field_select(); function change_tab_menu() { let apop_submit_type = $('#apop_submit_type'); let order_nav_list = $('.post-order-nav li'); let order_box = $('.post-order-box'); init(); click_menu(); function init() { let submit_type = apop_submit_type.val(); order_nav_list.removeClass('en'); order_box.hide(); $('.post-order-nav li:eq(' + submit_type + ')').addClass('en'); $('.post-order-box:eq(' + submit_type + ')').show() } function click_menu() { order_nav_list.on('click', function () { if (!$(this).hasClass('en')) { let target_index = $(this).index(); order_nav_list.removeClass('en'); $(this).addClass('en'); order_box.hide(); $('.post-order-box:eq(' + target_index + ')').show(); apop_submit_type.val(target_index); } }); } } function order_list() { let cat_ul_count = $('.post-order-list').length; //カテゴリ総数 for (let i = 0; i < cat_ul_count; i++) { let my_list = $('.post-order-list:eq(' + i + ')'); my_list.sortable( { update: function () { let list_count = $('.product-list', my_list).length; for (let j = 0; j < list_count; j++) { let list_order_num = j + 1; $('.list-order:eq(' + j + ')', my_list).val(list_order_num); $('.list-order:eq(' + j + ')', my_list).siblings('.sort-num-label').text(list_order_num); } } } ); my_list.disableSelection(); } } function change_sort_box() { let s_radio = $('.sort_menu'); let sort_menu_size = $('.sort-menu-list').length; $('.sort_box').hide(); for (let i = 0; i < sort_menu_size; i++) { let type_index = $('.sort-menu-list:eq(' + i + ')').data('order_target') - 1; $('.sort-menu-list:eq(' + i + ')').siblings('.sort_box:eq(' + type_index + ')').show(); } s_radio.on('click', function () { let target_index = $(this).val() - 1; $(this).parents('.list-orders-inner').find('.sort_box').hide(); $(this).parents('.list-orders-inner').find('.sort_box:eq(' + target_index + ')').show(); }) } function select_tax() { let select_cat_checkbox = $('.select_cat_checkbox'); let input_chk_size = select_cat_checkbox.length; let i = 0; for (i; i < input_chk_size; i++) { let chk = $('.select_cat_checkbox:eq(' + i + '):checked').length; if (chk == 1) { $('.select_cat:eq(' + i + ')').siblings('.select-per-page').show(); } else { $('.select_cat:eq(' + i + ')').siblings('.select-per-page').hide(); } } select_cat_checkbox.on('click', function () { let checked = $(this).prop('checked'); if (checked) { $(this).parent().parent().siblings('.select-per-page').show(200); } else { $(this).parent().parent().siblings('.select-per-page').hide(200); } }); } function change_search_per_page() { let per_page_cat = $('.per_page_search'); let per_page_input = $('.per_page_search_input'); if (per_page_input.val() == '') { per_page_input.prop('disabled', true); } else { per_page_input.prop('disabled', false); } per_page_cat.on('click', function () { if ($(this).val() != 'default' && $(this).val() != '-1' && $(this).val() != 'all') { per_page_input.prop('disabled', false); } else { per_page_input.val(''); per_page_input.prop('disabled', true); } }) } function change_tax_per_page() { let set_number = $('.set_number'); let input_chk_size = set_number.length; for (let i = 0; i < input_chk_size; i++) { let input_num_box = $('.set_number:eq(' + i + ')').siblings('.per_page_cat_input'); if (input_num_box.val() == '') { input_num_box.prop('disabled', true); } else { input_num_box.prop('disabled', false); } } $('.per_page_cat').on('click', function () { if ($(this).hasClass('set_number')) { $(this).siblings('.per_page_cat_input').prop('disabled', false); } else { $(this).parents('li').find('.per_page_cat_input').val('').prop('disabled', true); } }); } function change_normal_field_sort() { let s_box = $('.sort_box'); let targets = '.sort_date_check, .sort_title_check, .sort_ID_check, .sort_modified_check'; s_box.find(targets).each(function () { if ($(this).prop('checked') == false) { $(this).parents('.product-list-sort-type').find('.order_param').prop('disabled', true); let disable_list = $(this).parents('.sort_box').find('.disable-normal-list'); $(this).parents('li').appendTo(disable_list); } }); $(targets).on('click', function () { if ($(this).prop('checked') == true) { $(this).parents('.product-list-sort-type').find('.order_param').prop('disabled', false); let enable_list = $(this).parents('.sort_box').find('.post-order-list'); $(this).parents('li').appendTo(enable_list).removeClass('no-order').hide().fadeIn(200); } else { $(this).parents('.product-list-sort-type').find('.order_param').prop('disabled', true); let disable_list = $(this).parents('.sort_box').find('.disable-normal-list'); $(this).parents('li').appendTo(disable_list).addClass('no-order').hide().fadeIn(200); } }); } function custom_field_select() { let s_box = $('.sort_box'); let targets = $('.custom-field-type'); let en_dis_check = $('.custom_field_check'); // カスタムフィールドソートの有効・無効を判定する。 // 有効の場合はカスタムフィールド選択or追加のステータスに応じてテキストエリアとセレクトタグenableに変更し表示を切り替える。 // 無効の場合はカスタムフィールドのテキストエリアとセレクトタグをDisableにし無効ボックスに移動する。 s_box.find('.custom_field_check').each(function () { if ($(this).prop('checked') == false) { let disable_list = $(this).parents('.sort_box').find('.disable-normal-list'); $(this).parents('li').appendTo(disable_list); dis_list($(this)); } else { let target_type = $(this).parents('.product-list-sort-type').find('.custom-field-type').filter(':checked').val(); en_dis_list($(this), target_type); } }); //有効・無効チェックボックスクリック時 en_dis_check.on('click', function () { if ($(this).prop('checked') == true) { let enable_list = $(this).parents('.sort_box').find('.post-order-list'); let target_type = $(this).parents('.product-list-sort-type').find('.custom-field-type').filter(':checked').val(); $(this).parents('.product-list-sort-type').find('.order_param').prop('disabled', false); $(this).parents('li').appendTo(enable_list).removeClass('no-order').hide().fadeIn(200); en_dis_list($(this), target_type); } else { let disable_list = $(this).parents('.sort_box').find('.disable-normal-list'); $(this).parents('.product-list-sort-type').find('.order_param').prop('disabled', true); $(this).parents('li').appendTo(disable_list).addClass('no-order').hide().fadeIn(200); dis_list($(this)); } }); //選択・追加のカスタムフィールド種類ラジオボタンのクリック targets.on('click', function () { en_dis_list($(this), $(this).val()); }); function dis_list(obj) { obj.parents('.product-list-sort-type').find('.custom_field_key').prop('disabled', true); obj.parents('.product-list-sort-type').find('.custom_field_key_select').prop('disabled', true); } function en_dis_list(obj, type) { if (type == 1) { obj.parents('.product-list-sort-type').find('.custom_field_key_select').prop('disabled', false).show(); obj.parents('.product-list-sort-type').find('.custom_field_key').prop('disabled', true).hide(); obj.parents('.product-list-sort-type').find('.custom-field-select-alert').text('既存のカスタムフィールドから選択'); } else if (type == 2) { obj.parents('.product-list-sort-type').find('.custom_field_key').prop('disabled', false).show(); obj.parents('.product-list-sort-type').find('.custom_field_key_select').prop('disabled', true).hide(); obj.parents('.product-list-sort-type').find('.custom-field-select-alert').text('APOP専用カスタムフィールドを追加'); } } } });