/home/techb158/balacoffee.com/wp-content/plugins/woocommerce/assets/js/admin
NameSizeModeActions
api-keys.js39860644editdlrm
api-keys.min.js22800644editdlrm
backbone-modal.js44590644editdlrm
backbone-modal.min.js28370644editdlrm
marketplace-suggestions.js172430644editdlrm
marketplace-suggestions.min.js68190644editdlrm
meta-boxes-coupon.js30570644editdlrm
meta-boxes-coupon.min.js16500644editdlrm
meta-boxes-order.js558190644editdlrm
meta-boxes-order.min.js339160644editdlrm
meta-boxes-product-variation.js432790644editdlrm
meta-boxes-product-variation.min.js230900644editdlrm
meta-boxes-product.js355190644editdlrm
meta-boxes-product.min.js186790644editdlrm
meta-boxes.js50690644editdlrm
meta-boxes.min.js30920644editdlrm
network-orders.js23940644editdlrm
network-orders.min.js12810644editdlrm
order-attribution-admin.js11850644editdlrm
order-attribution-admin.min.js7300644editdlrm
product-editor.js6960644editdlrm
product-editor.min.js2980644editdlrm
product-ordering.js26670644editdlrm
product-ordering.min.js17040644editdlrm
quick-edit.js72310644editdlrm
quick-edit.min.js46910644editdlrm
reports.js55180644editdlrm
reports.min.js27650644editdlrm
settings-views-html-settings-tax.js123240644editdlrm
settings-views-html-settings-tax.min.js62310644editdlrm
settings.js122330644editdlrm
settings.min.js64020644editdlrm
system-status.js55110644editdlrm
system-status.min.js31510644editdlrm
term-ordering.js47300644editdlrm
term-ordering.min.js25800644editdlrm
users.js38750644editdlrm
users.min.js19150644editdlrm
wc-brands-enhanced-select.js41600644editdlrm
wc-brands-enhanced-select.min.js16300644editdlrm
wc-clipboard.js8690644editdlrm
wc-clipboard.min.js3360644editdlrm
wc-customer-stock-notifications.js16510644editdlrm
wc-customer-stock-notifications.min.js11540644editdlrm
wc-enhanced-select.js139060644editdlrm
wc-enhanced-select.min.js78920644editdlrm
wc-orders.js20240644editdlrm
wc-orders.min.js11950644editdlrm
wc-product-export.js38800644editdlrm
wc-product-export.min.js21410644editdlrm
wc-product-import.js29950644editdlrm
wc-product-import.min.js17420644editdlrm
wc-recent-reviews-widget-async.js14690644editdlrm
wc-recent-reviews-widget-async.min.js6380644editdlrm
wc-setup.js102900644editdlrm
wc-setup.min.js65020644editdlrm
wc-shipping-classes.js67250644editdlrm
wc-shipping-classes.min.js36510644editdlrm
wc-shipping-providers.js72110644editdlrm
wc-shipping-providers.min.js39960644editdlrm
wc-shipping-zone-methods.js362770644editdlrm
wc-shipping-zone-methods.min.js175080644editdlrm
wc-shipping-zones.js94520644editdlrm
wc-shipping-zones.min.js49700644editdlrm
wc-status-widget-async.js13640644editdlrm
wc-status-widget-async.min.js5740644editdlrm
wc-status-widget.js18240644editdlrm
wc-status-widget.min.js10740644editdlrm
woocommerce_admin.js228570644editdlrm
woocommerce_admin.min.js122140644editdlrm
Edit: /home/techb158/balacoffee.com/wp-content/plugins/woocommerce/assets/js/admin/wc-shipping-classes.js (6725B)
/* global shippingClassesLocalizeScript, ajaxurl */ ( function( $, data, wp, ajaxurl ) { $( function() { if ( ! document.getElementById( 'tmpl-wc-shipping-class-row' ) || ! document.getElementById( 'tmpl-wc-shipping-class-row-blank' ) ) { return; } var $tbody = $( '.wc-shipping-class-rows' ), $save_button = $( '.wc-shipping-class-save' ), $row_template = wp.template( 'wc-shipping-class-row' ), $blank_template = wp.template( 'wc-shipping-class-row-blank' ), // Backbone model ShippingClass = Backbone.Model.extend({ save: function( changes ) { $.post( ajaxurl + ( ajaxurl.indexOf( '?' ) > 0 ? '&' : '?' ) + 'action=woocommerce_shipping_classes_save_changes', { wc_shipping_classes_nonce : data.wc_shipping_classes_nonce, changes, }, this.onSaveResponse, 'json' ); }, onSaveResponse: function( response, textStatus ) { if ( 'success' === textStatus ) { if ( response.success ) { shippingClass.set( 'classes', response.data.shipping_classes ); shippingClass.trigger( 'saved:classes' ); } else if ( response.data ) { window.alert( response.data ); } else { window.alert( data.strings.save_failed ); } } shippingClassView.unblock(); } } ), // Backbone view ShippingClassView = Backbone.View.extend({ rowTemplate: $row_template, initialize: function() { this.listenTo( this.model, 'saved:classes', this.render ); $( document.body ).on( 'click', '.wc-shipping-class-add-new', { view: this }, this.configureNewShippingClass ); $( document.body ).on( 'wc_backbone_modal_response', { view: this }, this.onConfigureShippingClassSubmitted ); $( document.body ).on( 'wc_backbone_modal_loaded', { view: this }, this.onLoadBackboneModal ); $( document.body ).on( 'wc_backbone_modal_validation', this.validateFormArguments ); }, block: function() { $( this.el ).block({ message: null, overlayCSS: { background: '#fff', opacity: 0.6 } }); }, unblock: function() { $( this.el ).unblock(); }, render: function() { var classes = _.indexBy( this.model.get( 'classes' ), 'term_id' ), view = this; this.$el.empty(); this.unblock(); if ( _.size( classes ) ) { // Sort classes classes = _.sortBy( classes, function( shipping_class ) { return shipping_class.name; } ); // Populate $tbody with the current classes $.each( classes, function( id, rowData ) { view.renderRow( rowData ); } ); } else { view.$el.append( $blank_template ); } }, renderRow: function( rowData ) { var view = this; view.$el.append( view.rowTemplate( rowData ) ); view.initRow( rowData ); }, initRow: function( rowData ) { var view = this; var $tr = view.$el.find( 'tr[data-id="' + rowData.term_id + '"]'); // Support select boxes $tr.find( 'select' ).each( function() { var attribute = $( this ).data( 'attribute' ); $( this ).find( 'option[value="' + rowData[ attribute ] + '"]' ).prop( 'selected', true ); } ); // Make the rows function $tr.find( '.view' ).show(); $tr.find( '.edit' ).hide(); $tr.find( '.wc-shipping-class-edit' ).on( 'click', { view: this }, this.onEditRow ); $tr.find( '.wc-shipping-class-delete' ).on( 'click', { view: this }, this.onDeleteRow ); }, configureNewShippingClass: function( event ) { event.preventDefault(); const term_id = 'new-1-' + Date.now(); $( this ).WCBackboneModal({ template : 'wc-shipping-class-configure', variable : { term_id, action: 'create', }, data : { term_id, action: 'create', } }); }, onConfigureShippingClassSubmitted: function( event, target, posted_data ) { if ( target === 'wc-shipping-class-configure' ) { const view = event.data.view; const model = view.model; const isNewRow = posted_data.term_id.includes( 'new-1-' ); const rowData = Object.assign( {}, posted_data ); if ( isNewRow ) { rowData.newRow = true; } view.block(); model.save( { [ posted_data.term_id ]: rowData } ); } }, validateFormArguments: function( element, target, data ) { const requiredFields = [ 'name', 'description' ]; const formIsComplete = Object.keys( data ).every( key => { if ( ! requiredFields.includes( key ) ) { return true; } if ( Array.isArray( data[ key ] ) ) { return data[ key ].length && !!data[ key ][ 0 ]; } return !!data[ key ]; } ); const createButton = document.getElementById( 'btn-ok' ); createButton.disabled = ! formIsComplete; createButton.classList.toggle( 'disabled', ! formIsComplete ); }, onEditRow: function( event ) { const term_id = $( this ).closest('tr').data('id'); const model = event.data.view.model; const classes = _.indexBy( model.get( 'classes' ), 'term_id' ); const rowData = classes[ term_id ]; event.preventDefault(); $( this ).WCBackboneModal({ template : 'wc-shipping-class-configure', variable: Object.assign( { action: 'edit' }, rowData ), data : Object.assign( { action: 'edit' }, rowData ) }); }, onLoadBackboneModal: function( event, target ) { if ( 'wc-shipping-class-configure' === target ) { const modalContent = $('.wc-backbone-modal-content'); const term_id = modalContent.data('id'); const model = event.data.view.model; const classes = _.indexBy( model.get( 'classes' ), 'term_id' ); const rowData = classes[ term_id ]; if ( rowData ) { // Support select boxes $('.wc-backbone-modal-content').find( 'select' ).each( function() { var attribute = $( this ).data( 'attribute' ); $( this ).find( 'option[value="' + rowData[ attribute ] + '"]' ).prop( 'selected', true ); } ); } } }, onDeleteRow: function( event ) { var view = event.data.view, model = view.model, term_id = $( this ).closest('tr').data('id'); event.preventDefault(); view.block(); model.save( { [ term_id ]: { term_id, deleted: 'deleted', } } ); }, } ), shippingClass = new ShippingClass({ classes: data.classes } ), shippingClassView = new ShippingClassView({ model: shippingClass, el: $tbody } ); shippingClassView.render(); }); })( jQuery, shippingClassesLocalizeScript, wp, ajaxurl );