|
MySavedButtons = { |
|
savedRows: null, |
|
deleteLightbox: null, |
|
dontToggle: false, |
|
|
|
init: function() { |
|
if ( MySavedButtons.deleteLightbox == null ) { |
|
MySavedButtons.deleteLightbox = new PAYPAL.util.Lightbox("deleteLightbox"); |
|
} |
|
var rows = YAHOO.util.Dom.getElementsByClassName("saved-row"); |
|
MySavedButtons.savedRows = rows; |
|
YAHOO.util.Event.addListener(rows, 'click', MySavedButtons.toggleRow); |
|
var deleteButtons = YAHOO.util.Dom.getElementsByClassName("deleteButton"); |
|
YAHOO.util.Event.addListener(deleteButtons, 'click', MySavedButtons.deleteConfirm); |
|
var closeButton = document.getElementById('deleteNo'); |
|
YAHOO.util.Event.addListener(closeButton, 'click', MySavedButtons.deleteLightbox.close); |
|
var closeButton = document.getElementById('deleteYes'); |
|
YAHOO.util.Event.addListener(closeButton, 'click', MySavedButtons.deleteSubmit); |
|
|
|
var links = YAHOO.util.Dom.getElementsByClassName('linkSubmit'); |
|
for ( var i=0; i < links.length; i++ ) { |
|
YAHOO.util.Event.addListener(links[i], 'click', MySavedButtons.submitLink); |
|
} |
|
}, |
|
|
|
deleteSubmit: function(e) { |
|
YAHOO.util.Event.preventDefault(e); |
|
var form = document.getElementById('mySavedButtonsForm'); |
|
var fakeField = document.getElementById('fakeSubmit'); |
|
|
|
fakeField.setAttribute('name', 'deletesavedbutton.confirm'); |
|
form.submit(); |
|
}, |
|
|
|
submitLink: function(e) { |
|
MySavedButtons.dontToggle = true; |
|
YAHOO.util.Event.preventDefault(e); |
|
var form = document.getElementById('mySavedButtonsForm'); |
|
var fakeField = document.getElementById('fakeSubmit'); |
|
var idField = document.getElementById('currentButtonId'); |
|
|
|
var cmdVar = MySavedButtons.getUrlVar(this.href, 'cmd'); |
|
var idVar = MySavedButtons.getUrlVar(this.href, 'buttonid'); |
|
var btnType= MySavedButtons.getUrlVar(this.href, 'button_type'); |
|
|
|
if ( cmdVar ) { |
|
fakeField.name = cmdVar; |
|
fakeField.value = 'true'; |
|
if ( idVar && idVar != null ) { |
|
idField.value = idVar; |
|
} |
|
if ( btnType && btnType != null ) { |
|
var hiddenVar = document.createElement('input'); |
|
hiddenVar.type = "hidden"; |
|
hiddenVar.name = "button_type"; |
|
hiddenVar.value = "donate" |
|
form.appendChild(hiddenVar); |
|
} |
|
|
|
form.submit(); |
|
} |
|
}, |
|
|
|
deleteConfirm: function(e) { |
|
YAHOO.util.Event.preventDefault(e); |
|
var fakeField = document.getElementById('fakeSubmit'); |
|
var idField = document.getElementById('currentButtonId'); |
|
|
|
var cmdVar = MySavedButtons.getUrlVar(this.href, 'cmd'); |
|
var idVar = MySavedButtons.getUrlVar(this.href, 'buttonid'); |
|
|
|
document.getElementById('lightBoxButtonId').innerHTML = idVar; |
|
// Fix for PPSCR01108971 |
|
document.getElementById('lightBoxButtonName').innerHTML = this.nextSibling.innerHTML; |
|
MySavedButtons.deleteLightbox.show(); |
|
|
|
if ( cmdVar ) { |
|
fakeField.name = cmdVar; |
|
fakeField.value = 'true'; |
|
if ( idVar && idVar != null ) { |
|
idField.value = idVar; |
|
} |
|
} |
|
}, |
|
|
|
getUrlVar: function(href, str) { |
|
if ( href.match(str) != null ) { |
|
href = href.split('?')[1].split('&'); |
|
for ( var i=0; i < href.length; i++ ) { |
|
if ( href[i].match(str) != null ) { |
|
return href[i].split('=')[1]; |
|
} |
|
} |
|
} |
|
return false; |
|
}, |
|
|
|
toggleRow: function() { |
|
if ( MySavedButtons.dontToggle ) { |
|
MySavedButtons.dontToggle = false; |
|
} |
|
else if ( !MySavedButtons.deleteLightbox.showing ) { |
|
var ddwp = YAHOO.util.Dom.getElementsByClassName('dd-with-price', 'ul', this); |
|
var ddwop = YAHOO.util.Dom.getElementsByClassName('dd-without-price', 'ul', this); |
|
var actions = YAHOO.util.Dom.getElementsByClassName('open-actions', 'div', this); |
|
if ( YAHOO.util.Dom.hasClass(this, 'open-row') ) { |
|
YAHOO.util.Dom.addClass(ddwp[0], 'accessAid'); |
|
YAHOO.util.Dom.addClass(ddwop[0], 'accessAid'); |
|
YAHOO.util.Dom.addClass(actions[0], 'accessAid'); |
|
YAHOO.util.Dom.removeClass(this, 'open-row'); |
|
for ( var i=0; i < MySavedButtons.savedRows.length; i++ ) { |
|
if ( MySavedButtons.savedRows[i] == this && i != (MySavedButtons.savedRows.length-1) ) { |
|
YAHOO.util.Dom.removeClass(MySavedButtons.savedRows[i+1], 'after-open'); |
|
} |
|
} |
|
} |
|
else { |
|
YAHOO.util.Dom.addClass(this, 'open-row'); |
|
YAHOO.util.Dom.removeClass(this, 'after-open'); |
|
YAHOO.util.Dom.removeClass(ddwp[0], 'accessAid'); |
|
YAHOO.util.Dom.removeClass(ddwop[0], 'accessAid'); |
|
YAHOO.util.Dom.removeClass(actions[0], 'accessAid'); |
|
var afterRow = null; |
|
for ( var i=0; i < MySavedButtons.savedRows.length; i++ ) { |
|
if ( MySavedButtons.savedRows[i] == this && i != (MySavedButtons.savedRows.length-1) ) { |
|
YAHOO.util.Dom.addClass(MySavedButtons.savedRows[i+1], 'after-open'); |
|
afterRow = MySavedButtons.savedRows[i+1]; |
|
} |
|
} |
|
for ( var i=0; i < MySavedButtons.savedRows.length; i++ ) { |
|
if ( MySavedButtons.savedRows[i] != this ) { |
|
if ( YAHOO.util.Dom.hasClass(MySavedButtons.savedRows[i], 'after-open') && MySavedButtons.savedRows[i] != afterRow ) { |
|
YAHOO.util.Dom.removeClass(MySavedButtons.savedRows[i], 'after-open'); |
|
} |
|
if ( YAHOO.util.Dom.hasClass(MySavedButtons.savedRows[i], 'open-row') ) { |
|
YAHOO.util.Dom.removeClass(MySavedButtons.savedRows[i], 'open-row'); |
|
var kids = []; |
|
kids.push(YAHOO.util.Dom.getElementsByClassName('dd-with-price', 'ul', MySavedButtons.savedRows[i]), |
|
YAHOO.util.Dom.getElementsByClassName('dd-without-price', 'ul', MySavedButtons.savedRows[i]), |
|
YAHOO.util.Dom.getElementsByClassName('open-actions', 'div', MySavedButtons.savedRows[i]) ); |
|
for ( var j=0; j < kids.length; j++ ) { |
|
YAHOO.util.Dom.addClass(kids[j], 'accessAid'); |
|
} |
|
} |
|
} |
|
} |
|
|
|
} |
|
} |
|
} |
|
} |
|
|
|
YAHOO.util.Event.onDOMReady(MySavedButtons.init); |
If PayPal's "My Saved Buttons" page doesn't work at https://www.paypal.com/cgi-bin/webscr?cmd=_button-management because none of the Action menus respond, it's because PayPal's JavaScript at https://www.paypalobjects.com/WEBSCR-640-20180225-1/js/Merchant/buttondesigner/mySavedButtons.js is a 404 or not depending on which backend PayPal has arbitrarily routes your request to. In some cases, you can keep doing ctrl-shift-r reload until PayPal decides the serve the JavaScript (copied above). It may take a minute or two or reloading until PayPal decides to route your request to a working backend.
If PayPal still refuses to give you a working My Saved Buttons page after force-reloading 10+ times, copy the JavaScript above into the browser devtools (F12 / ctrl-shift-c) Console tab and press Enter. That should activate the Action menus.