On reordering products the cells of the placeholder need to match the attributes of the original row cells, otherwise the width gets messed up
This commit is contained in:
parent
72fff668d4
commit
c4082c6867
|
@ -3,53 +3,70 @@
|
||||||
*
|
*
|
||||||
* Modified - products have no children (non hierarchical)
|
* Modified - products have no children (non hierarchical)
|
||||||
*/
|
*/
|
||||||
jQuery('table.widefat tbody th, table.widefat tbody td').css('cursor','move');
|
( function( $ ){
|
||||||
|
$( document ).ready(function(){
|
||||||
|
$('table.widefat tbody th, table.widefat tbody td').css('cursor','move');
|
||||||
|
|
||||||
jQuery("table.widefat tbody").sortable({
|
$("table.widefat tbody").sortable({
|
||||||
items: 'tr:not(.inline-edit-row)',
|
items: 'tr:not(.inline-edit-row)',
|
||||||
cursor: 'move',
|
cursor: 'move',
|
||||||
axis: 'y',
|
axis: 'y',
|
||||||
containment: 'table.widefat',
|
containment: 'table.widefat',
|
||||||
scrollSensitivity: 40,
|
scrollSensitivity: 40,
|
||||||
helper: function(e, ui) {
|
helper: function(event, ui) {
|
||||||
ui.children().each(function() { jQuery(this).width(jQuery(this).width()); });
|
ui.each(function() { $(this).width($(this).width()); });
|
||||||
return ui;
|
return ui;
|
||||||
},
|
},
|
||||||
start: function(event, ui) {
|
start: function(event, ui) {
|
||||||
if ( ! ui.item.hasClass('alternate') ) ui.item.css( 'background-color', '#ffffff' );
|
ui.placeholder.children().each(function(){
|
||||||
ui.item.children('td,th').css('border-bottom-width','0');
|
var $original = ui.item.children().eq( ui.placeholder.children().index(this) ),
|
||||||
ui.item.css( 'outline', '1px solid #dfdfdf' );
|
$this = $( this );
|
||||||
},
|
|
||||||
stop: function(event, ui) {
|
|
||||||
ui.item.removeAttr('style');
|
|
||||||
ui.item.children('td,th').css('border-bottom-width','1px');
|
|
||||||
},
|
|
||||||
update: function(event, ui) {
|
|
||||||
jQuery('table.widefat tbody th, table.widefat tbody td').css('cursor','default');
|
|
||||||
jQuery("table.widefat tbody").sortable('disable');
|
|
||||||
|
|
||||||
var postid = ui.item.find('.check-column input').val(); // this post id
|
$.each( $original[0].attributes, function( k, attr ){
|
||||||
var postparent = ui.item.find('.post_parent').html(); // post parent
|
$this.attr( attr.name, attr.value );
|
||||||
|
} );
|
||||||
|
});
|
||||||
|
if ( ! ui.item.hasClass('alternate') ) {
|
||||||
|
ui.item.css( 'background-color', '#ffffff' );
|
||||||
|
}
|
||||||
|
ui.item.children('td,th').css('border-bottom-width','0');
|
||||||
|
ui.item.css( 'outline', '1px solid #dfdfdf' );
|
||||||
|
},
|
||||||
|
stop: function(event, ui) {
|
||||||
|
ui.item.removeAttr('style');
|
||||||
|
ui.item.children('td,th').css('border-bottom-width','1px');
|
||||||
|
},
|
||||||
|
update: function(event, ui) {
|
||||||
|
$('table.widefat tbody th, table.widefat tbody td').css('cursor','default');
|
||||||
|
$("table.widefat tbody").sortable('disable');
|
||||||
|
|
||||||
var prevpostid = ui.item.prev().find('.check-column input').val();
|
var postid = ui.item.find('.check-column input').val(); // this post id
|
||||||
var nextpostid = ui.item.next().find('.check-column input').val();
|
var postparent = ui.item.find('.post_parent').html(); // post parent
|
||||||
|
|
||||||
// show spinner
|
var prevpostid = ui.item.prev().find('.check-column input').val();
|
||||||
ui.item.find('.check-column input').hide().after('<img alt="processing" src="images/wpspin_light.gif" class="waiting" style="margin-left: 6px;" />');
|
var nextpostid = ui.item.next().find('.check-column input').val();
|
||||||
|
|
||||||
// go do the sorting stuff via ajax
|
// show spinner
|
||||||
jQuery.post( ajaxurl, { action: 'woocommerce_product_ordering', id: postid, previd: prevpostid, nextid: nextpostid }, function(response){
|
ui.item.find('.check-column input').hide().after('<img alt="processing" src="images/wpspin_light.gif" class="waiting" style="margin-left: 6px;" />');
|
||||||
jQuery.each(response, function(key,value) { jQuery('#inline_'+key+' .menu_order').html(value); });
|
|
||||||
ui.item.find('.check-column input').show().siblings('img').remove();
|
|
||||||
jQuery('table.widefat tbody th, table.widefat tbody td').css('cursor','move');
|
|
||||||
jQuery("table.widefat tbody").sortable('enable');
|
|
||||||
});
|
|
||||||
|
|
||||||
// fix cell colors
|
// go do the sorting stuff via ajax
|
||||||
jQuery( 'table.widefat tbody tr' ).each(function(){
|
$.post( ajaxurl, { action: 'woocommerce_product_ordering', id: postid, previd: prevpostid, nextid: nextpostid }, function(response){
|
||||||
var i = jQuery('table.widefat tbody tr').index(this);
|
$.each(response, function(key,value) { $('#inline_'+key+' .menu_order').html(value); });
|
||||||
if ( i%2 == 0 ) jQuery(this).addClass('alternate');
|
ui.item.find('.check-column input').show().siblings('img').remove();
|
||||||
else jQuery(this).removeClass('alternate');
|
$('table.widefat tbody th, table.widefat tbody td').css('cursor','move');
|
||||||
});
|
$("table.widefat tbody").sortable('enable');
|
||||||
}
|
});
|
||||||
});
|
|
||||||
|
// fix cell colors
|
||||||
|
$( 'table.widefat tbody tr' ).each(function(){
|
||||||
|
var i = $('table.widefat tbody tr').index(this);
|
||||||
|
if ( i%2 === 0 ){
|
||||||
|
$(this).addClass('alternate');
|
||||||
|
} else {
|
||||||
|
$(this).removeClass('alternate');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}( jQuery ) );
|
||||||
|
|
Loading…
Reference in New Issue