woocommerce/assets/js/admin/meta-boxes-product.min.js

1 line
13 KiB
JavaScript

jQuery(function(a){function b(){var b=a("select#product-type").val(),c=a("input#_virtual:checked").size(),d=a("input#_downloadable:checked").size(),e=".hide_if_downloadable, .hide_if_virtual",f=".show_if_downloadable, .show_if_virtual, .show_if_external";a.each(woocommerce_admin_meta_boxes.product_types,function(a,b){e=e+", .hide_if_"+b,f=f+", .show_if_"+b}),a(e).show(),a(f).hide(),d&&a(".show_if_downloadable").show(),c&&a(".show_if_virtual").show(),a(".show_if_"+b).show(),d&&a(".hide_if_downloadable").hide(),c&&a(".hide_if_virtual").hide(),a(".hide_if_"+b).hide(),a("input#_manage_stock").change()}function c(){a(".product_attributes .woocommerce_attribute").each(function(b,c){a(".attribute_position",c).val(parseInt(a(c).index(".product_attributes .woocommerce_attribute")))})}a(function(){a('[id$="-all"] > ul.categorychecklist').each(function(){var b=a(this),c=b.find(":checked").first();if(c.length){var d=b.find("input").position().top,e=c.position().top;b.closest(".tabs-panel").scrollTop(e-d+5)}})}),a("#upsell_product_data").bind("keypress",function(a){return 13==a.keyCode?!1:void 0}),a(".type_box").appendTo("#woocommerce-product-data h3.hndle span"),a(function(){a("#woocommerce-product-data h3.hndle").unbind("click.postboxes"),jQuery("#woocommerce-product-data").on("click","h3.hndle",function(b){a(b.target).filter("input, option, label, select").length||a("#woocommerce-product-data").toggleClass("closed")})}),a("#catalog-visibility .edit-catalog-visibility").click(function(){return a("#catalog-visibility-select").is(":hidden")&&(a("#catalog-visibility-select").slideDown("fast"),a(this).hide()),!1}),a("#catalog-visibility .save-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility .edit-catalog-visibility").show();var b=(a("input[name=_visibility]:checked").val(),a("input[name=_visibility]:checked").attr("data-label"));return a("input[name=_featured]").is(":checked")&&(b=b+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")),a("#catalog-visibility-display").text(b),!1}),a("#catalog-visibility .cancel-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility .edit-catalog-visibility").show();var b=a("#current_visibility").val(),c=a("#current_featured").val();a("input[name=_visibility]").removeAttr("checked"),a("input[name=_visibility][value="+b+"]").attr("checked","checked");var d=a("input[name=_visibility]:checked").attr("data-label");return"yes"==c?(d=d+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")):a("input[name=_featured]").removeAttr("checked"),a("#catalog-visibility-display").text(d),!1}),a("select#product-type").change(function(){var c=a(this).val();"variable"===c?(a("input#_manage_stock").change(),a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"grouped"===c?(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"external"===c&&(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")),b(),a("ul.wc-tabs li:visible").eq(0).find("a").click(),a("body").trigger("woocommerce-product-type-change",c,a(this))}).change(),a("body").on("woocommerce-product-type-change",function(b,c){"variable"!==c&&0<a("#variable_product_options input[name^=variable_sku]").length&&a("body").triggerHandler("woocommerce-display-product-type-alert",c)!==!1&&window.alert(woocommerce_admin_meta_boxes.i18n_product_type_alert)}),a("input#_downloadable, input#_virtual").change(function(){b()}),a(".sale_price_dates_fields").each(function(){var b=a(this),c=!1,d=b.closest("div, table");b.find("input").each(function(){""!=a(this).val()&&(c=!0)}),c?(d.find(".sale_schedule").hide(),d.find(".sale_price_dates_fields").show()):(d.find(".sale_schedule").show(),d.find(".sale_price_dates_fields").hide())}),a("#woocommerce-product-data").on("click",".sale_schedule",function(){var b=a(this).closest("div, table");return a(this).hide(),b.find(".cancel_sale_schedule").show(),b.find(".sale_price_dates_fields").show(),!1}),a("#woocommerce-product-data").on("click",".cancel_sale_schedule",function(){var b=a(this).closest("div, table");return a(this).hide(),b.find(".sale_schedule").show(),b.find(".sale_price_dates_fields").hide(),b.find(".sale_price_dates_fields").find("input").val(""),!1}),a("#woocommerce-product-data").on("click",".downloadable_files a.insert",function(){return a(this).closest(".downloadable_files").find("tbody").append(a(this).data("row")),!1}),a("#woocommerce-product-data").on("click",".downloadable_files a.delete",function(){return a(this).closest("tr").remove(),!1}),a("input#_manage_stock").change(function(){a(this).is(":checked")?a("div.stock_fields").show():a("div.stock_fields").hide()}).change();var d=a(".sale_price_dates_fields input").datepicker({defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,showButtonPanel:!0,showOn:"button",buttonImage:woocommerce_admin_meta_boxes.calendar_image,buttonImageOnly:!0,onSelect:function(b){var c=a(this).is("#_sale_price_dates_from, .sale_price_dates_from")?"minDate":"maxDate",e=a(this).data("datepicker"),f=a.datepicker.parseDate(e.settings.dateFormat||a.datepicker._defaults.dateFormat,b,e.settings);d.not(this).datepicker("option",c,f)}});a(".product_attributes select.multiselect").chosen();var e=a(".product_attributes").find(".woocommerce_attribute").get();e.sort(function(b,c){var d=parseInt(a(b).attr("rel")),e=parseInt(a(c).attr("rel"));return e>d?-1:d>e?1:0}),a(e).each(function(b,c){a(".product_attributes").append(c)}),a("button.add_attribute").on("click",function(){var b=a(".product_attributes .woocommerce_attribute").size(),d=a("select.attribute_taxonomy").val();if(d){var e=a(".product_attributes .woocommerce_attribute."+d);a(".product_attributes").append(a(e)),a(e).show().find(".woocommerce_attribute_data").show(),c()}else{var f=a("select#product-type").val();enable_variation="variable"!=f?'style="display:none;"':"",a(".product_attributes").append('<div class="woocommerce_attribute wc-metabox"> <h3> <button type="button" class="remove_row button">'+woocommerce_admin_meta_boxes.remove_label+'</button> <div class="handlediv" title="'+woocommerce_admin_meta_boxes.click_to_toggle+'"></div> <strong class="attribute_name"></strong> </h3> <table cellpadding="0" cellspacing="0" class="woocommerce_attribute_data"> <tbody> <tr> <td class="attribute_name"> <label>'+woocommerce_admin_meta_boxes.name_label+':</label> <input type="text" class="attribute_name" name="attribute_names['+b+']" /> <input type="hidden" name="attribute_is_taxonomy['+b+']" value="0" /> <input type="hidden" name="attribute_position['+b+']" class="attribute_position" value="'+b+'" /> </td> <td rowspan="3"> <label>'+woocommerce_admin_meta_boxes.values_label+':</label> <textarea name="attribute_values['+b+']" cols="5" rows="5" placeholder="'+woocommerce_admin_meta_boxes.text_attribute_tip+'"></textarea> </td> </tr> <tr> <td> <label><input type="checkbox" class="checkbox" '+(woocommerce_admin_meta_boxes.default_attribute_visibility?'checked="checked"':"")+' name="attribute_visibility['+b+']" value="1" /> '+woocommerce_admin_meta_boxes.visible_label+'</label> </td> </tr> <tr> <td> <div class="enable_variation show_if_variable" '+enable_variation+'> <label><input type="checkbox" class="checkbox" '+(woocommerce_admin_meta_boxes.default_attribute_variation?'checked="checked"':"")+' name="attribute_variation['+b+']" value="1" /> '+woocommerce_admin_meta_boxes.used_for_variations_label+"</label> </div> </td> </tr> </tbody> </table> </div>")}a("select.attribute_taxonomy").val("")}),a(".product_attributes").on("blur","input.attribute_name",function(){a(this).closest(".woocommerce_attribute").find("strong.attribute_name").text(a(this).val())}),a(".product_attributes").on("click","button.select_all_attributes",function(){return a(this).closest("td").find("select option").attr("selected","selected"),a(this).closest("td").find("select").trigger("chosen:updated"),!1}),a(".product_attributes").on("click","button.select_no_attributes",function(){return a(this).closest("td").find("select option").removeAttr("selected"),a(this).closest("td").find("select").trigger("chosen:updated"),!1}),a(".product_attributes").on("click","button.remove_row",function(){var b=confirm(woocommerce_admin_meta_boxes.remove_attribute);if(b){var d=a(this).parent().parent();d.is(".taxonomy")?(d.find("select, input[type=text]").val(""),d.hide()):(d.find("select, input[type=text]").val(""),d.hide(),c())}return!1}),a(".product_attributes").sortable({items:".woocommerce_attribute",cursor:"move",axis:"y",handle:"h3",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style"),c()}}),a(".product_attributes").on("click","button.add_new_attribute",function(){a(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b=a(this).attr("data-attribute"),c=a(this).closest(".woocommerce_attribute_data"),d=prompt(woocommerce_admin_meta_boxes.new_attribute_prompt);if(d){var e={action:"woocommerce_add_new_attribute",taxonomy:b,term:d,security:woocommerce_admin_meta_boxes.add_attribute_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,e,function(b){b.error?alert(b.error):b.slug&&(c.find("select.attribute_values").append('<option value="'+b.slug+'" selected="selected">'+b.name+"</option>"),c.find("select.attribute_values").trigger("chosen:updated")),a(".product_attributes").unblock()})}else a(".product_attributes").unblock();return!1}),a(".save_attributes").on("click",function(){a(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b={post_id:woocommerce_admin_meta_boxes.post_id,data:a(".product_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_admin_meta_boxes.save_attributes_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,b,function(){var b=window.location.toString();b=b.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&"),a("#variable_product_options").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),a("#variable_product_options").load(b+" #variable_product_options_inner",function(){a("#variable_product_options").unblock()}),a(".product_attributes").unblock()})});var f,g;jQuery(document).on("click",".upload_file_button",function(b){var c=a(this);if(g=c.closest("tr").find("td.file_url input"),b.preventDefault(),f)return void f.open();var d=[new wp.media.controller.Library({library:wp.media.query(),multiple:!0,title:c.data("choose"),priority:20,filterable:"uploaded"})];f=wp.media.frames.downloadable_file=wp.media({title:c.data("choose"),library:{type:""},button:{text:c.data("update")},multiple:!0,states:d}),f.on("select",function(){var a="",b=f.state().get("selection");b.map(function(b){b=b.toJSON(),b.url&&(a=b.url)}),g.val(a)}),f.on("ready",function(){f.uploader.options.uploader.params={type:"downloadable_product"}}),f.open()}),jQuery(".downloadable_files tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65});var h,i=a("#product_image_gallery"),j=a("#product_images_container ul.product_images");jQuery(".add_product_images").on("click","a",function(b){var c=a(this),d=i.val();return b.preventDefault(),h?void h.open():(h=wp.media.frames.product_gallery=wp.media({title:c.data("choose"),button:{text:c.data("update")},states:[new wp.media.controller.Library({title:c.data("choose"),filterable:"all",multiple:!0})]}),h.on("select",function(){var a=h.state().get("selection");a.map(function(a){a=a.toJSON(),a.id&&(d=d?d+","+a.id:a.id,j.append(' <li class="image" data-attachment_id="'+a.id+'"> <img src="'+a.sizes.thumbnail.url+'" /> <ul class="actions"> <li><a href="#" class="delete" title="'+c.data("delete")+'">'+c.data("text")+"</a></li> </ul> </li>"))}),i.val(d)}),void h.open())}),j.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")},update:function(){var b="";a("#product_images_container ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),i.val(b)}}),a("#product_images_container").on("click","a.delete",function(){a(this).closest("li.image").remove();var b="";return a("#product_images_container ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),i.val(b),runTipTip(),!1})});