f6d64404a7
・カスタムフィールドの必須チェック漏れの修正 ・既存カスタムフィールド選択も可能なよう修正 ・ソートのリストに背景色を設定 ・並べ替え設定ページの更新ボタン位置を修正 ・カテゴリー、タグ、カスタム分類のソート対象選択のラジオボタン並び順を標準、検索と同一になるよう修正
235 lines
9.6 KiB
JavaScript
235 lines
9.6 KiB
JavaScript
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();
|
|
} 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();
|
|
}
|
|
}
|
|
}
|
|
|
|
}); |