@ -728,31 +728,46 @@ $(document).ready(function () {
var mailAddress = escapeHTML ( UserList . getMailAddress ( $td ) ) ;
var $input = $ ( '<input type="text">' ) . val ( mailAddress ) ;
$td . children ( 'span' ) . replaceWith ( $input ) ;
$td . find ( 'img' ) . hide ( ) ;
$input
. focus ( )
. keypress ( function ( event ) {
if ( event . keyCode === 13 ) {
$tr . data ( 'mailAddress' , $input . val ( ) ) ;
$input . blur ( ) ;
// enter key
var mailAddress = $input . val ( ) ;
$td . find ( '.loading-small' ) . css ( 'display' , 'inline-block' ) ;
$input . css ( 'padding-right' , '26px' ) ;
$input . attr ( 'disabled' , 'disabled' ) ;
$ . ajax ( {
type : 'PUT' ,
url : OC . generateUrl ( '/settings/users/{id}/mailAddress' , { id : uid } ) ,
data : {
mailAddress : $ ( this ) . val ( )
}
} ) . fail( function ( result ) {
OC . Notification . show ( result . responseJSON . data . message ) ;
// reset the values
} ) . success( function ( ) {
// set data attribute to new value
// will in blur() be used to show the text instead of the input field
$tr . data ( 'mailAddress' , mailAddress ) ;
$tr . children ( '.mailAddress' ) . children ( 'span' ) . text ( mailAddress ) ;
$td . find ( '.loading-small' ) . css ( 'display' , '' ) ;
$input . removeAttr ( 'disabled' )
. triggerHandler ( 'blur' ) ; // needed instead of $input.blur() for Firefox
} ) . fail ( function ( result ) {
OC . Notification . showTemporary ( result . responseJSON . data . message ) ;
$td . find ( '.loading-small' ) . css ( 'display' , '' ) ;
$input . removeAttr ( 'disabled' )
. css ( 'padding-right' , '6px' ) ;
} ) ;
}
} )
. blur ( function ( ) {
var mailAddress = $tr . data ( 'mailAddress' ) ;
var $span = $ ( '<span>' ) . text ( mailAddress ) ;
$tr . data ( 'mailAddress' , mailAddress ) ;
if ( $td . find ( '.loading-small' ) . css ( 'display' ) === 'inline-block' ) {
// in Chrome the blur event is fired too early by the browser - even if the request is still running
return ;
}
var $span = $ ( '<span>' ) . text ( $tr . data ( 'mailAddress' ) ) ;
$input . replaceWith ( $span ) ;
$td . find ( 'img' ) . show ( ) ;
} ) ;
} ) ;