@@ -49,6 +49,13 @@ define([
49
49
} ) ;
50
50
} ;
51
51
52
+ /**
53
+ * toggle update button
54
+ */
55
+ this . toggleLinkBtn = function ( $linkBtn , $linkText , $linkUrl ) {
56
+ ui . toggleBtn ( $linkBtn , $linkText . val ( ) && $linkUrl . val ( ) ) ;
57
+ } ;
58
+
52
59
/**
53
60
* Show link dialog and set event handlers on dialog controls.
54
61
*
@@ -72,24 +79,31 @@ define([
72
79
73
80
$linkText . val ( linkInfo . text ) ;
74
81
75
- $linkText . on ( 'input paste' , function ( ) {
76
- ui . toggleBtn ( $linkBtn , $linkText . val ( ) && $linkUrl . val ( ) ) ;
82
+ var handleLinkTextUpdate = function ( ) {
83
+ self . toggleLinkBtn ( $linkBtn , $linkText , $linkUrl ) ;
77
84
// if linktext was modified by keyup,
78
85
// stop cloning text from linkUrl
79
86
linkInfo . text = $linkText . val ( ) ;
87
+ } ;
88
+
89
+ $linkText . on ( 'input' , handleLinkTextUpdate ) . on ( 'paste' , function ( ) {
90
+ setTimeout ( handleLinkTextUpdate , 0 ) ;
80
91
} ) ;
81
92
82
- $linkUrl . on ( 'input paste' , function ( ) {
83
- ui . toggleBtn ( $linkBtn , $linkText . val ( ) && $linkUrl . val ( ) ) ;
93
+ var handleLinkUrlUpdate = function ( ) {
94
+ self . toggleLinkBtn ( $linkBtn , $linkText , $linkUrl ) ;
84
95
// display same link on `Text to display` input
85
96
// when create a new link
86
97
if ( ! linkInfo . text ) {
87
98
$linkText . val ( $linkUrl . val ( ) ) ;
88
99
}
89
- } ) . val ( linkInfo . url ) . trigger ( 'focus' ) ;
100
+ } ;
90
101
91
- ui . toggleBtn ( $linkBtn , $linkText . val ( ) && $linkUrl . val ( ) ) ;
102
+ $linkUrl . on ( 'input' , handleLinkUrlUpdate ) . on ( 'paste' , function ( ) {
103
+ setTimeout ( handleLinkUrlUpdate , 0 ) ;
104
+ } ) . val ( linkInfo . url ) . trigger ( 'focus' ) ;
92
105
106
+ self . toggleLinkBtn ( $linkBtn , $linkText , $linkUrl ) ;
93
107
self . bindEnterKey ( $linkUrl , $linkBtn ) ;
94
108
self . bindEnterKey ( $linkText , $linkBtn ) ;
95
109
@@ -110,8 +124,8 @@ define([
110
124
111
125
ui . onDialogHidden ( self . $dialog , function ( ) {
112
126
// detach events
113
- $linkText . off ( 'input keypress' ) ;
114
- $linkUrl . off ( 'input keypress' ) ;
127
+ $linkText . off ( 'input paste keypress' ) ;
128
+ $linkUrl . off ( 'input paste keypress' ) ;
115
129
$linkBtn . off ( 'click' ) ;
116
130
117
131
if ( deferred . state ( ) === 'pending' ) {
0 commit comments