@@ -129,29 +129,39 @@ ko.bindingHandlers.liveEdit = {
129
129
} , 300 ) . call ( this ) ;
130
130
} ;
131
131
132
+ /**
133
+ * Prevent content from being dropped inside of inline edit area
134
+ *
135
+ * @param {DragEvent } event
136
+ */
137
+ const onDrop = ( event : DragEvent ) => {
138
+ event . preventDefault ( ) ;
139
+ } ;
140
+
132
141
/**
133
142
* Input event on element
134
143
*/
135
144
const onInput = ( ) => {
136
145
handlePlaceholderClass ( element ) ;
137
146
} ;
138
147
element . setAttribute ( "data-placeholder" , placeholder ) ;
139
- element . innerText = viewModel . previewData [ field ] ( ) ;
148
+ element . innerText = viewModel . parent . dataStore . get ( field ) ;
140
149
element . contentEditable = true ;
141
150
element . addEventListener ( "focus" , onFocus ) ;
142
151
element . addEventListener ( "blur" , onBlur ) ;
143
152
element . addEventListener ( "click" , onClick ) ;
144
153
element . addEventListener ( "keydown" , onKeyDown ) ;
145
154
element . addEventListener ( "input" , onInput ) ;
155
+ element . addEventListener ( "drop" , onDrop ) ;
146
156
147
157
$ ( element ) . parent ( ) . css ( "cursor" , "text" ) ;
148
158
handlePlaceholderClass ( element ) ;
149
159
150
160
// Create a subscription onto the original data to update the internal value
151
- viewModel . previewData [ field ] . subscribe ( ( value : string ) => {
152
- element . innerText = viewModel . previewData [ field ] ( ) ;
161
+ viewModel . parent . dataStore . subscribe ( ( ) => {
162
+ element . innerText = viewModel . parent . dataStore . get ( field ) ;
153
163
handlePlaceholderClass ( element ) ;
154
- } ) ;
164
+ } , field ) ;
155
165
} ,
156
166
157
167
/**
@@ -166,7 +176,7 @@ ko.bindingHandlers.liveEdit = {
166
176
update ( element , valueAccessor , allBindings , viewModel , bindingContext ) {
167
177
const { field} = valueAccessor ( ) ;
168
178
169
- element . innerText = viewModel . previewData [ field ] ( ) ;
179
+ element . innerText = viewModel . parent . dataStore . get ( field ) ;
170
180
handlePlaceholderClass ( element ) ;
171
181
} ,
172
182
} ;
0 commit comments