Skip to content

Commit d4fd0f3

Browse files
committed
Deduplicate and move the javascript event codes to functions
1 parent defbbee commit d4fd0f3

File tree

4 files changed

+41
-3
lines changed

4 files changed

+41
-3
lines changed

interface/web/mail/templates/mail_alias_edit.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<label class="col-sm-3 control-label"><em>*</em> {tmpl_var name='email_txt'}</label>
33
<div class="col-sm-9">
44
<div class='input-group'>
5-
<input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onPaste="javascript: e = this; setTimeout(function(){if (/@/.test(e.value)) { parts = e.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); e.value=parts.pop(); } }, 4);" onChange="javascript: if (/@/.test(this.value)) { parts = this.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); this.value=parts.pop(); } " />
5+
<input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onpaste="processEmailAddressInput(this)" onchange="updateEmailDomain(this)" />
66
<span class='input-group-addon'>@</span>
77
<div class='input-group-field'>
88
<select name="email_domain" id="email_domain" class="form-control" style="height:50px;min-width:170px;">{tmpl_var name='email_domain'}</select>

interface/web/mail/templates/mail_forward_edit.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<label class="col-sm-3 control-label"><em>*</em> {tmpl_var name='email_txt'}</label>
33
<div class="col-sm-9">
44
<div class='input-group'>
5-
<input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onPaste="javascript: e = this; setTimeout(function(){if (/@/.test(e.value)) { parts = e.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); e.value=parts.pop(); } }, 4);" onChange="javascript: if (/@/.test(this.value)) { parts = this.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); this.value=parts.pop(); } " />
5+
<input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onpaste="processEmailAddressInput(this)" onchange="updateEmailDomain(this)" />
66
<span class='input-group-addon'>@</span>
77
<div class='input-group-field'>
88
<select name="email_domain" id="email_domain" class="form-control" style="height:50px;min-width:170px;">{tmpl_var name='email_domain'}</select>

interface/web/mail/templates/mail_user_mailbox_edit.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<label class="col-sm-3 control-label"><em>*</em> {tmpl_var name='email_txt'}</label>
77
<div class="col-sm-9">
88
<div class='input-group'>
9-
<input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onPaste="javascript: e = this; setTimeout(function(){if (/@/.test(e.value)) { parts = e.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); e.value=parts.pop(); } }, 4);" onChange="javascript: if (/@/.test(this.value)) { parts = this.value.split('@'); $('#email_domain').val(parts.pop()); $('#email_domain').trigger('change'); this.value=parts.pop(); } " />
9+
<input type="text" id="email_local_part" name="email_local_part" value="{tmpl_var name='email_local_part'}" class="form-control" onpaste="processEmailAddressInput(this)" onchange="updateEmailDomain(this)" />
1010
<span class='input-group-addon'>@</span>
1111
<div class='input-group-field'>
1212
<select name="email_domain" id="email_domain" class="form-control" style="height:50px;min-width:170px;">{tmpl_var name='email_domain'}</select>

interface/web/themes/default/assets/javascripts/ispconfig.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -840,4 +840,42 @@ $(document).ready(function() {
840840
//console.log("Mouseleave e-tooltip");
841841
});
842842

843+
/*$(document).on("paste", '#email_local_part', function() {
844+
//$(document).ready(function() {
845+
//$('#email_local_part').on('paste', function() {
846+
var e = this;
847+
setTimeout(function() {
848+
if (/@/.test(e.value)) {
849+
var parts = e.value.split('@');
850+
$('#email_domain').val(parts.pop());
851+
$('#email_domain').trigger('change');
852+
e.value = parts.pop();
853+
}
854+
}, 4);
855+
});
856+
*/
857+
858+
843859
});
860+
861+
862+
function processEmailAddressInput(e) {
863+
setTimeout(function () {
864+
if (/@/.test(e.value)) {
865+
var parts = e.value.split('@');
866+
$('#email_domain').val(parts.pop());
867+
$('#email_domain').trigger('change');
868+
e.value = parts.pop();
869+
}
870+
}, 4);
871+
};
872+
873+
function updateEmailDomain(e) {
874+
if (/@/.test(e.value)) {
875+
var parts = e.value.split('@');
876+
$('#email_domain').val(parts.pop());
877+
$('#email_domain').trigger('change');
878+
e.value = parts.pop();
879+
}
880+
};
881+

0 commit comments

Comments
 (0)