82 lines
1.7 KiB
JavaScript
82 lines
1.7 KiB
JavaScript
/* global wc_orders_params */
|
|
jQuery( function( $ ) {
|
|
|
|
if ( typeof wc_orders_params === 'undefined' ) {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* WCOrdersTable class.
|
|
*/
|
|
var WCOrdersTable = function() {
|
|
$( document )
|
|
.on( 'click', '.post-type-shop_order .wp-list-table tbody td', this.onRowClick )
|
|
.on( 'click', '.order-preview', this.onPreview );
|
|
};
|
|
|
|
/**
|
|
* Click a row.
|
|
*/
|
|
WCOrdersTable.prototype.onRowClick = function( e ) {
|
|
if ( $( e.target ).filter( 'a' ).length ) {
|
|
return true;
|
|
}
|
|
|
|
var $row = $( this ).closest( 'tr' ),
|
|
href = $row.find( 'a.order-view' ).attr( 'href' );
|
|
|
|
window.location = href;
|
|
};
|
|
|
|
/**
|
|
* Preview an order.
|
|
*/
|
|
WCOrdersTable.prototype.onPreview = function() {
|
|
var $previewButton = $( this ),
|
|
$order_id = $previewButton.data( 'order-id' );
|
|
|
|
if ( $previewButton.data( 'order-data' ) ) {
|
|
$( this ).WCBackboneModal({
|
|
template: 'wc-modal-view-order',
|
|
variable : $previewButton.data( 'order-data' )
|
|
});
|
|
} else {
|
|
$previewButton.closest( 'table' ).block({
|
|
message: null,
|
|
overlayCSS: {
|
|
background: '#fff',
|
|
opacity: 0.6
|
|
}
|
|
});
|
|
|
|
$.ajax({
|
|
url: wc_orders_params.ajax_url,
|
|
data: {
|
|
order_id: $order_id,
|
|
action : 'woocommerce_get_order_details',
|
|
security: wc_orders_params.preview_nonce
|
|
},
|
|
type: 'GET',
|
|
success: function( response ) {
|
|
if ( response.success ) {
|
|
$previewButton.data( 'order-data', response.data );
|
|
|
|
$( this ).WCBackboneModal({
|
|
template: 'wc-modal-view-order',
|
|
variable : response.data
|
|
});
|
|
}
|
|
$previewButton.closest( 'table' ).unblock();
|
|
}
|
|
});
|
|
}
|
|
return false;
|
|
|
|
};
|
|
|
|
/**
|
|
* Init WCOrdersTable.
|
|
*/
|
|
new WCOrdersTable();
|
|
} );
|