mirror of
https://github.com/jupyter/notebook.git
synced 2024-12-27 04:20:22 +08:00
Merge pull request #6665 from jdfreder/travis_please_run_on_this
Separate widget model name from com target name.
This commit is contained in:
commit
60bfcf8c74
@ -21,11 +21,8 @@ define([
|
||||
this.comm_manager = comm_manager;
|
||||
this._models = {}; /* Dictionary of model ids and model instances */
|
||||
|
||||
// Register already-registered widget model types with the comm manager.
|
||||
var that = this;
|
||||
_.each(WidgetManager._model_types, function(model_type, model_name) {
|
||||
that.comm_manager.register_target(model_name, $.proxy(that._handle_comm_open, that));
|
||||
});
|
||||
// Register with the comm manager.
|
||||
this.comm_manager.register_target('ipython.widget', $.proxy(this._handle_comm_open, this));
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
@ -38,14 +35,6 @@ define([
|
||||
WidgetManager.register_widget_model = function (model_name, model_type) {
|
||||
// Registers a widget model by name.
|
||||
WidgetManager._model_types[model_name] = model_type;
|
||||
|
||||
// Register the widget with the comm manager. Make sure to pass this object's context
|
||||
// in so `this` works in the call back.
|
||||
_.each(WidgetManager._managers, function(instance, i) {
|
||||
if (instance.comm_manager !== null) {
|
||||
instance.comm_manager.register_target(model_name, $.proxy(instance._handle_comm_open, instance));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
WidgetManager.register_widget_view = function (view_name, view_type) {
|
||||
@ -186,7 +175,7 @@ define([
|
||||
// Handle when a comm is opened.
|
||||
var that = this;
|
||||
var model_id = comm.comm_id;
|
||||
var widget_type_name = msg.content.target_name;
|
||||
var widget_type_name = msg.content.data.model_name;
|
||||
var widget_model = new WidgetManager._model_types[widget_type_name](this, model_id, comm);
|
||||
widget_model.on('comm:close', function () {
|
||||
delete that._models[model_id];
|
||||
|
@ -139,11 +139,12 @@ class Widget(LoggingConfigurable):
|
||||
def open(self):
|
||||
"""Open a comm to the frontend if one isn't already open."""
|
||||
if self.comm is None:
|
||||
if self._model_id is None:
|
||||
self.comm = Comm(target_name=self._model_name)
|
||||
self._model_id = self.model_id
|
||||
else:
|
||||
self.comm = Comm(target_name=self._model_name, comm_id=self._model_id)
|
||||
args = dict(target_name='ipython.widget', data={ 'model_name': self._model_name })
|
||||
if self._model_id is not None:
|
||||
args['comm_id'] = self._model_id
|
||||
self.comm = Comm(**args)
|
||||
self._model_id = self.model_id
|
||||
|
||||
self.comm.on_msg(self._handle_msg)
|
||||
Widget.widgets[self.model_id] = self
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user