@@ -186,16 +186,6 @@ function lookAtSphere(camera, center, radius, setNearFar) {
186
186
}
187
187
188
188
189
-
190
- /**
191
- * Work around for notebook issue #2730.
192
- */
193
- function commOpenWithBuffers ( comm , content , callbacks , metadata , buffers ) {
194
- return comm . kernel . send_shell_message (
195
- 'comm_open' , content , callbacks , metadata , buffers ) ;
196
- }
197
-
198
-
199
189
/**
200
190
* Create a new model from the JS side.
201
191
*
@@ -213,14 +203,7 @@ function createModel(constructor, widget_manager, obj) {
213
203
var attributes = { } ;
214
204
var widget_model = new constructor ( attributes , modelOptions ) ;
215
205
216
- widget_model . once ( 'comm:close' , function ( ) {
217
- delete widget_manager . _models [ id ] ;
218
- } ) ;
219
-
220
- widget_manager . _models [ id ] = widget_model . initPromise . then ( function ( ) {
221
- // Create un-opened comm:
222
- return widget_manager . _create_comm ( widget_manager . comm_target_name , id ) ;
223
- } ) . then ( function ( comm ) {
206
+ var modelPromise = widget_model . initPromise . then ( function ( ) {
224
207
var split = widgets . remove_buffers (
225
208
widget_model . serialize ( widget_model . get_state ( true ) ) ) ;
226
209
var data = {
@@ -235,15 +218,12 @@ function createModel(constructor, widget_manager, obj) {
235
218
buffer_paths : split . buffer_paths
236
219
} ;
237
220
var buffers = split . buffers ;
238
-
239
- var content = {
240
- 'comm_id' : id ,
241
- 'target_name' : widget_manager . comm_target_name ,
242
- 'data' : data
243
- } ;
244
221
var metadata = { version : widgets . PROTOCOL_VERSION } ;
245
222
246
- commOpenWithBuffers ( comm , content , null , metadata , buffers ) ;
223
+ // Create un-opened comm:
224
+ return widget_manager . _create_comm (
225
+ widget_manager . comm_target_name , id , data , metadata , buffers ) ;
226
+ } ) . then ( function ( comm ) {
247
227
248
228
widget_model . comm = comm ;
249
229
@@ -255,8 +235,9 @@ function createModel(constructor, widget_manager, obj) {
255
235
256
236
return widget_model ;
257
237
} ) ;
238
+ widget_manager . register_model ( id , modelPromise ) ;
258
239
259
- return widget_manager . _models [ id ] ;
240
+ return modelPromise ;
260
241
}
261
242
262
243
0 commit comments