shorten many invocations of Ajax.Request in inline form methods

This commit is contained in:
Andrew Dolgov 2021-02-18 12:27:26 +03:00
parent ee0b66b6bd
commit 39c0fe3697
5 changed files with 78 additions and 112 deletions

View File

@ -291,17 +291,13 @@ class Pref_Prefs extends Handler_Protected {
<?= \Controls\hidden_tag("op", "pref-prefs") ?>
<?= \Controls\hidden_tag("method", "changeemail") ?>
<script type='dojo/method' event='onSubmit' args='evt'>
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
Notify.progress('Saving data...', true);
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.info(transport.responseText);
}
});
})
}
</script>
@ -350,14 +346,12 @@ class Pref_Prefs extends Handler_Protected {
<?= \Controls\hidden_tag("op", "pref-prefs") ?>
<?= \Controls\hidden_tag("method", "changepassword") ?>
<script type='dojo/method' event='onSubmit' args='evt'>
<!-- TODO: return JSON the backend call -->
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
Notify.progress('Changing password...', true);
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
Notify.progress('Saving data...', true);
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.close();
if (transport.responseText.indexOf('ERROR: ') == 0) {
@ -373,9 +367,7 @@ class Pref_Prefs extends Handler_Protected {
}
new Effect.Appear('pwd_change_infobox');
}
});
this.reset();
})
}
</script>
@ -459,23 +451,20 @@ class Pref_Prefs extends Handler_Protected {
<?= \Controls\hidden_tag("op", "pref-prefs") ?>
<?= \Controls\hidden_tag("method", "otpdisable") ?>
<script type='dojo/method' event='onSubmit' args='evt'>
<!-- TODO: return JSON from the backend call -->
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
Notify.progress('Disabling OTP', true);
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
Notify.progress('Saving data...', true);
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.close();
if (transport.responseText.indexOf('ERROR: ') == 0) {
Notify.error(transport.responseText.replace('ERROR: ', ''));
} else {
window.location.reload();
}
}
});
this.reset();
})
}
</script>
@ -521,22 +510,20 @@ class Pref_Prefs extends Handler_Protected {
<input dojoType='dijit.form.ValidationTextBox' disabled='disabled' value="<?= $otp_secret ?>" size='32'>
</fieldset>
<script type='dojo/method' event='onSubmit' args='evt'>
<!-- TODO: return JSON from the backend call -->
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
Notify.progress('Saving data...', true);
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.close();
if (transport.responseText.indexOf('ERROR:') == 0) {
Notify.error(transport.responseText.replace('ERROR:', ''));
} else {
window.location.reload();
}
}
});
})
}
</script>
@ -806,26 +793,23 @@ class Pref_Prefs extends Handler_Protected {
<form dojoType='dijit.form.Form' id='changeSettingsForm'>
<?= \Controls\hidden_tag("op", "pref-prefs") ?>
<?= \Controls\hidden_tag("method", "saveconfig") ?>
<script type='dojo/method' event='onSubmit' args='evt, quit'>
<script type="dojo/method" event="onSubmit" args="evt, quit">
if (evt) evt.preventDefault();
if (this.validate()) {
console.log(dojo.objectToQuery(this.getValues()));
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
var msg = transport.responseText;
xhrPost("backend.php", this.getValues(), (transport) => {
if (quit) {
document.location.href = 'index.php';
} else {
const msg = transport.responseText;
if (msg == 'PREFS_NEED_RELOAD') {
window.location.reload();
} else {
Notify.info(msg);
}
}
}
});
})
}
</script>
@ -958,17 +942,12 @@ class Pref_Prefs extends Handler_Protected {
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
Notify.progress('Saving data...', true);
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.close();
if (confirm(__('Selected plugins have been enabled. Reload?'))) {
window.location.reload();
}
}
});
})
}
</script>

View File

@ -69,17 +69,13 @@ class Af_Readability extends Plugin {
<?= \Controls\pluginhandler_tags($this, "save") ?>
<script type='dojo/method' event='onSubmit' args='evt'>
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
console.log(dojo.objectToQuery(this.getValues()));
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
Notify.progress('Saving data...', true);
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.info(transport.responseText);
}
});
//this.reset();
})
}
</script>

View File

@ -43,16 +43,13 @@ class Af_RedditImgur extends Plugin {
<?= \Controls\pluginhandler_tags($this, "save") ?>
<script type='dojo/method' event='onSubmit' args='evt'>
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
console.log(dojo.objectToQuery(this.getValues()));
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
Notify.progress('Saving data...', true);
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.info(transport.responseText);
}
});
})
}
</script>

View File

@ -50,13 +50,10 @@ class Mail extends Plugin {
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
console.log(dojo.objectToQuery(this.getValues()));
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
Notify.progress('Saving data...', true);
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.info(transport.responseText);
}
});
})
}
</script>
@ -70,7 +67,6 @@ class Mail extends Plugin {
<?= \Controls\submit_tag(__("Save")) ?>
</form>
</div>
<?php
}

View File

@ -55,12 +55,10 @@ class NSFW extends Plugin {
<script type="dojo/method" event="onSubmit" args="evt">
evt.preventDefault();
if (this.validate()) {
new Ajax.Request('backend.php', {
parameters: dojo.objectToQuery(this.getValues()),
onComplete: function(transport) {
Notify.progress('Saving data...', true);
xhrPost("backend.php", this.getValues(), (transport) => {
Notify.info(transport.responseText);
}
});
})
}
</script>