installed plugin Easy Digital Downloads
version 3.1.0.3
This commit is contained in:
@ -0,0 +1,134 @@
|
||||
/**
|
||||
* Notes
|
||||
*/
|
||||
const EDD_Notes = {
|
||||
init: function() {
|
||||
this.enter_key();
|
||||
this.add_note();
|
||||
this.remove_note();
|
||||
},
|
||||
|
||||
enter_key: function() {
|
||||
$( document.body ).on( 'keydown', '#edd-note', function( e ) {
|
||||
if ( e.keyCode === 13 && ( e.metaKey || e.ctrlKey ) ) {
|
||||
e.preventDefault();
|
||||
$( '#edd-add-note' ).click();
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
/**
|
||||
* Ajax handler for adding new notes
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
add_note: function() {
|
||||
$( '#edd-add-note' ).on( 'click', function( e ) {
|
||||
e.preventDefault();
|
||||
|
||||
const edd_button = $( this ),
|
||||
edd_note = $( '#edd-note' ),
|
||||
edd_notes = $( '.edd-notes' ),
|
||||
edd_no_notes = $( '.edd-no-notes' ),
|
||||
edd_spinner = $( '.edd-add-note .spinner' ),
|
||||
edd_note_nonce = $( '#edd_note_nonce' );
|
||||
|
||||
const postData = {
|
||||
action: 'edd_add_note',
|
||||
nonce: edd_note_nonce.val(),
|
||||
object_id: edd_button.data( 'object-id' ),
|
||||
object_type: edd_button.data( 'object-type' ),
|
||||
note: edd_note.val(),
|
||||
};
|
||||
|
||||
if ( postData.note ) {
|
||||
edd_button.prop( 'disabled', true );
|
||||
edd_spinner.css( 'visibility', 'visible' );
|
||||
|
||||
$.ajax( {
|
||||
type: 'POST',
|
||||
data: postData,
|
||||
url: ajaxurl,
|
||||
success: function( response ) {
|
||||
let res = wpAjax.parseAjaxResponse( response );
|
||||
res = res.responses[ 0 ];
|
||||
|
||||
edd_notes.append( res.data );
|
||||
edd_no_notes.hide();
|
||||
edd_button.prop( 'disabled', false );
|
||||
edd_spinner.css( 'visibility', 'hidden' );
|
||||
edd_note.val( '' );
|
||||
},
|
||||
} ).fail( function( data ) {
|
||||
if ( window.console && window.console.log ) {
|
||||
console.log( data );
|
||||
}
|
||||
edd_button.prop( 'disabled', false );
|
||||
edd_spinner.css( 'visibility', 'hidden' );
|
||||
} );
|
||||
} else {
|
||||
const border_color = edd_note.css( 'border-color' );
|
||||
|
||||
edd_note.css( 'border-color', 'red' );
|
||||
|
||||
setTimeout( function() {
|
||||
edd_note.css( 'border-color', border_color );
|
||||
}, userInteractionInterval );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
/**
|
||||
* Ajax handler for deleting existing notes
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
remove_note: function() {
|
||||
$( document.body ).on( 'click', '.edd-delete-note', function( e ) {
|
||||
e.preventDefault();
|
||||
|
||||
const edd_link = $( this ),
|
||||
edd_notes = $( '.edd-note' ),
|
||||
edd_note = edd_link.parents( '.edd-note' ),
|
||||
edd_no_notes = $( '.edd-no-notes' ),
|
||||
edd_note_nonce = $( '#edd_note_nonce' );
|
||||
|
||||
if ( confirm( edd_vars.delete_note ) ) {
|
||||
const postData = {
|
||||
action: 'edd_delete_note',
|
||||
nonce: edd_note_nonce.val(),
|
||||
note_id: edd_link.data( 'note-id' ),
|
||||
};
|
||||
|
||||
edd_note.addClass( 'deleting' );
|
||||
|
||||
$.ajax( {
|
||||
type: 'POST',
|
||||
data: postData,
|
||||
url: ajaxurl,
|
||||
success: function( response ) {
|
||||
if ( '1' === response ) {
|
||||
edd_note.remove();
|
||||
}
|
||||
|
||||
if ( edd_notes.length === 1 ) {
|
||||
edd_no_notes.show();
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
} ).fail( function( data ) {
|
||||
if ( window.console && window.console.log ) {
|
||||
console.log( data );
|
||||
}
|
||||
edd_note.removeClass( 'deleting' );
|
||||
} );
|
||||
return true;
|
||||
}
|
||||
} );
|
||||
},
|
||||
};
|
||||
|
||||
jQuery( document ).ready( function( $ ) {
|
||||
EDD_Notes.init();
|
||||
} );
|
Reference in New Issue
Block a user