X-Git-Url: https://scm.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/292a91bf78532d43a81bc528307ded8c6733d130..4d01bfd85c7c9c07ce1f3011e1a6cd5aa25fb5a1:/skins/ajax_scripts/ajax_form_manager.js diff --git a/skins/ajax_scripts/ajax_form_manager.js b/skins/ajax_scripts/ajax_form_manager.js index bdea518..508a4f9 100644 --- a/skins/ajax_scripts/ajax_form_manager.js +++ b/skins/ajax_scripts/ajax_form_manager.js @@ -17,7 +17,6 @@ FormManager = function(form, responseTextDest, lazy) { var thisManager = this; this.form.onsubmit = function(evt) { thisManager.submit(evt); }; this.form.onclick = function(evt) { thisManager.click(evt); }; - this.submitButton = null; /* raised on form submit */ this.onBeforeSubmit = null; @@ -55,6 +54,7 @@ FormManager.prototype.submit = function(evt) { if (onBeforeSubmit.length) { onBeforeSubmit = onBeforeSubmit[0]; } + /*jslint evil: true */ this.onBeforeSubmit = eval(onBeforeSubmit.value); bsMessage = this.onBeforeSubmit(thisManager, evt); } @@ -99,7 +99,7 @@ FormManager.prototype.submit = function(evt) { query += submitButton.name + '=' + submitButton.value + '&'; } - if (window.AJAX_CONFIG && (AJAX_CONFIG & 1 === 1)) { + if (window.AJAX_CONFIG && ((AJAX_CONFIG & 1) === 1)) { if (form.method.toLowerCase() === 'post') { this._post(query); } @@ -422,21 +422,18 @@ FormManager.prototype.loadResponse = function(req) { } var onAfterPopulate = this.onAfterPopulate; - if (typeof(onAfterPopulate) === "string") { - if (window.console) { - console.warn('Deprecation WARNING onAfterPopulate: ' + onAfterPopulate); - } - onAfterPopulate = eval(onAfterPopulate); - } onAfterPopulate(); this.scrollToPortalMessage(); + history.pushState(absolute_url(), document.title, absolute_url()); }; FormManager.prototype.scrollToPortalMessage = function() { var psm = document.getElementById('DesktopStatusBar'); - var msgOffset = psm.offsetTop; - smoothScroll(window.scrollY, msgOffset); - shake(psm, 10, 1000); + if (psm) { + var msgOffset = psm.offsetTop; + smoothScroll(window.scrollY, msgOffset); + shake(psm, 10, 1000); + } }; FormManager.prototype._fitField = function(evt) { @@ -478,21 +475,20 @@ function smoothScroll(from, to) { window.clearInterval(intervalId); window.scroll(0, to); } - } + }; intervalId = window.setInterval(jump, 10); } /* adapted from http://xahlee.info/js/js_shake_box.html */ function shake(e, distance, time) { // Handle arguments - if (!time) time = 500; - if (!distance) distance = 5; + if (!time) { time = 500; } + if (!distance) { distance = 5; } // Save the original style of e, Make e relatively positioned, Note the animation start time, Start the animation var originalStyle = e.style.cssText; e.style.position = "relative"; var start = (new Date()).getTime(); - animate(); // This function checks the elapsed time and updates the position of e. // If the animation is complete, it restores e to its original state. @@ -518,9 +514,10 @@ function shake(e, distance, time) { } else { // Otherwise, the animation is complete - e.style.cssText = originalStyle // Restore the original style + e.style.cssText = originalStyle; // Restore the original style } } + animate(); } }());