Skip to content

Instantly share code, notes, and snippets.

@x5gtrn
Created July 21, 2018 00:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save x5gtrn/4b0b668439624af8bf15d706474cfe3b to your computer and use it in GitHub Desktop.
Save x5gtrn/4b0b668439624af8bf15d706474cfe3b to your computer and use it in GitHub Desktop.
var variationTabIndex = 0;
var variationTabCount = 0;
$(".nav-tabs").on("click", "a", function (e) {
e.preventDefault();
if (!$(this).hasClass('add-variation')) {
$(this).tab('show');
}
})
$('.add-variation').click(function (e) {
e.preventDefault();
if (variationTabCount >= 20) {
return;
}
var id = variationTabIndex + 1;
var tabId = 'variation_' + id;
var navTabId = 'variationNavTab_' + id;
$(this).closest('li').before('<li id="' + navTabId + '"><a href="#variation_' + id + '">' + id + '</a></li>');
var variationRemoval = id === 1 ? '' : '<a href="#" onclick="removeVariation(' + id + ');">このバリエーションを削除する</a><br/>'
$('.tab-content').append('' +
'<div class="tab-pane" id="' + tabId + '">\n' +
' <div class="box-body">\n' +
' <div class="form-group clearfix">\n' +
' <label>画像をアップロード</label>\n' +
' <ul class="unsortable"><li class="item-icon"><span>ここにファイルをドラッグ</span></li></ul>\n' +
' </div>\n' +
' <div class="form-group clearfix">\n' +
' <label>ドラッグ&ドロップで画像の並べ替え</label>\n' +
' <ul class="sortable">\n' +
' <li class="ui-state-default"><img src="" width="100px" id="1">\n' +
' <span class="icon_cancel_button"><i class="fa fa-fw fa-close"></i></span></li>\n' +
' <li class="ui-state-default"><img src="" width="100px" id="2">\n' +
' <span class="icon_cancel_button"><i class="fa fa-fw fa-close"></i></span></li>\n' +
' </ul>\n' +
' </div>\n' +
' <div class="form-group">\n' +
' <label>バリエーション管理番号</label>\n' +
' <input type="number" name="variationProductId" class="form-control" value="">\n' +
' </div>\n' +
' <div class="form-group">\n' +
' <label>バリエーション名</label>\n' +
' <input type="text" name="name" class="form-control" value="">\n' +
' </div>\n' +
' <div class="form-group">\n' +
' <label>在庫</label>\n' +
' <input type="number" name="stock" class="form-control" value="">\n' +
' </div>\n' +
' ' + variationRemoval + '\n' +
' ※バリエーションの並び替えは<strong>商品編集</strong>にて登録した後から行えます<br/>\n' +
' ※タブの数字は操作上のもので登録されません<br/>\n' +
' </div>' +
'</div>');
$('.nav-tabs li:nth-child(' + id + ') a').click();
variationTabIndex++;
variationTabCount++;
})
function removeVariation(id) {
if (id === 1) {
alert("1番目のバリエーションは削除できません");
return;
}
if (!confirm("このバリエーションを削除してよろしいですか?")) {
return;
}
var tabId = 'variation_' + id;
var navTabId = 'variationNavTab_' + id;
$('#' + tabId).remove();
$('#' + navTabId).remove();
variationTabCount--;
$('.nav-tabs li:nth-child(1) a').click();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment