mirror of
https://github.com/jupyter/notebook.git
synced 2025-02-05 12:19:58 +08:00
Removed for () loops where necessary. Replaced with _.each
This commit is contained in:
parent
35a02a0436
commit
08e40697de
@ -34,14 +34,12 @@
|
||||
|
||||
// Attach a comm manager to the
|
||||
this.comm_manager = comm_manager;
|
||||
this._models = {}; /* Dictionary of model ids and model instances */
|
||||
|
||||
// Register already-registered widget model types with the comm manager.
|
||||
for (var name in WidgetManager._model_types) {
|
||||
if (WidgetManager._model_types.hasOwnProperty(name)) {
|
||||
this.comm_manager.register_target(name, $.proxy(this._handle_comm_open, this));
|
||||
|
||||
}
|
||||
}
|
||||
_.each(WidgetManager._model_types, function(value, key) {
|
||||
this.comm_manager.register_target(value, $.proxy(this._handle_comm_open, this));
|
||||
});
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
@ -49,7 +47,6 @@
|
||||
//--------------------------------------------------------------------
|
||||
WidgetManager._model_types = {}; /* Dictionary of model type names (target_name) and model types. */
|
||||
WidgetManager._view_types = {}; /* Dictionary of view names and view types. */
|
||||
WidgetManager._models = {}; /* Dictionary of model ids and model instances */
|
||||
WidgetManager._managers = []; /* List of widget managers */
|
||||
|
||||
WidgetManager.register_widget_model = function (model_name, model_type) {
|
||||
@ -58,12 +55,11 @@
|
||||
|
||||
// Register the widget with the comm manager. Make sure to pass this object's context
|
||||
// in so `this` works in the call back.
|
||||
for (var i = 0; i < WidgetManager._managers.length; i++) {
|
||||
var instance = WidgetManager._managers[i];
|
||||
_.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) {
|
||||
@ -169,7 +165,7 @@
|
||||
};
|
||||
|
||||
WidgetManager.prototype.get_model = function (model_id) {
|
||||
var model = WidgetManager._models[model_id];
|
||||
var model = this._models[model_id];
|
||||
if (model !== undefined && model.id == model_id) {
|
||||
return model;
|
||||
}
|
||||
@ -180,7 +176,7 @@
|
||||
var model_id = comm.comm_id;
|
||||
var widget_type_name = msg.content.target_name;
|
||||
var widget_model = new WidgetManager._model_types[widget_type_name](this, model_id, comm);
|
||||
WidgetManager._models[model_id] = widget_model;
|
||||
this._models[model_id] = widget_model;
|
||||
};
|
||||
|
||||
IPython.WidgetManager = WidgetManager;
|
||||
|
@ -86,17 +86,14 @@ function(WidgetManager, Underscore, Backbone){
|
||||
|
||||
apply_update: function (state) {
|
||||
// Handle when a widget is updated via the python side.
|
||||
for (var key in state) {
|
||||
if (state.hasOwnProperty(key)) {
|
||||
var value = state[key];
|
||||
this.key_value_lock = [key, value];
|
||||
try {
|
||||
this.set(key, this._unpack_models(value));
|
||||
} finally {
|
||||
this.key_value_lock = null;
|
||||
}
|
||||
_.each(state, function(value, key) {
|
||||
this.key_value_lock = [key, value];
|
||||
try {
|
||||
this.set(key, this._unpack_models(value));
|
||||
} finally {
|
||||
this.key_value_lock = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
_handle_status: function (msg, callbacks) {
|
||||
@ -205,9 +202,9 @@ function(WidgetManager, Underscore, Backbone){
|
||||
return value.id;
|
||||
} else if (value instanceof Object) {
|
||||
var packed = {};
|
||||
for (var key in value) {
|
||||
packed[key] = this._pack_models(value[key]);
|
||||
}
|
||||
_.each(value, function(sub_value, key) {
|
||||
packed[key] = this._pack_models(sub_value);
|
||||
});
|
||||
return packed;
|
||||
} else {
|
||||
return value;
|
||||
@ -218,9 +215,9 @@ function(WidgetManager, Underscore, Backbone){
|
||||
// Replace model ids with models recursively.
|
||||
if (value instanceof Object) {
|
||||
var unpacked = {};
|
||||
for (var key in value) {
|
||||
unpacked[key] = this._unpack_models(value[key]);
|
||||
}
|
||||
_.each(value, function(sub_value, key) {
|
||||
unpacked[key] = this._unpack_models(sub_value);
|
||||
});
|
||||
return unpacked;
|
||||
} else {
|
||||
var model = this.widget_manager.get_model(value);
|
||||
@ -369,20 +366,16 @@ function(WidgetManager, Underscore, Backbone){
|
||||
|
||||
var css = this.model.get('_css');
|
||||
if (css === undefined) {return;}
|
||||
for (var selector in css) {
|
||||
if (css.hasOwnProperty(selector)) {
|
||||
// Apply the css traits to all elements that match the selector.
|
||||
var elements = this._get_selector_element(selector);
|
||||
if (elements.length > 0) {
|
||||
var css_traits = css[selector];
|
||||
for (var css_key in css_traits) {
|
||||
if (css_traits.hasOwnProperty(css_key)) {
|
||||
elements.css(css_key, css_traits[css_key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
_.each(css, function(css_traits, selector){
|
||||
// Apply the css traits to all elements that match the selector.
|
||||
var elements = this._get_selector_element(selector);
|
||||
if (elements.length > 0) {
|
||||
_.each(css_traits, function(css_value, css_key){
|
||||
elements.css(css_key, css_value);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
_get_selector_element: function (selector) {
|
||||
|
@ -67,13 +67,13 @@ define(["notebook/js/widgets/widget"], function(WidgetManager){
|
||||
var items = this.model.get('values');
|
||||
var $replace_droplist = $('<ul />')
|
||||
.addClass('dropdown-menu');
|
||||
for (var index in items) {
|
||||
var that = this;
|
||||
_.each(items, function(item, i) {
|
||||
var item_button = $('<a href="#"/>')
|
||||
.text(items[index])
|
||||
.text(item)
|
||||
.on('click', $.proxy(this.handle_click, this));
|
||||
$replace_droplist.append($('<li />').append(item_button));
|
||||
}
|
||||
});
|
||||
|
||||
this.$droplist.replaceWith($replace_droplist);
|
||||
this.$droplist.remove();
|
||||
this.$droplist = $replace_droplist;
|
||||
@ -140,41 +140,41 @@ define(["notebook/js/widgets/widget"], function(WidgetManager){
|
||||
// Add missing items to the DOM.
|
||||
var items = this.model.get('values');
|
||||
var disabled = this.model.get('disabled');
|
||||
for (var index in items) {
|
||||
var item_query = ' :input[value="' + items[index] + '"]';
|
||||
_.each(items, function(item, index) {
|
||||
var item_query = ' :input[value="' + item + '"]';
|
||||
if (this.$el.find(item_query).length === 0) {
|
||||
var $label = $('<label />')
|
||||
.addClass('radio')
|
||||
.text(items[index])
|
||||
.text(item)
|
||||
.appendTo(this.$container);
|
||||
|
||||
$('<input />')
|
||||
.attr('type', 'radio')
|
||||
.addClass(this.model)
|
||||
.val(items[index])
|
||||
.val(item)
|
||||
.prependTo($label)
|
||||
.on('click', $.proxy(this.handle_click, this));
|
||||
}
|
||||
|
||||
var $item_element = this.$container.find(item_query);
|
||||
if (this.model.get('value') == items[index]) {
|
||||
if (this.model.get('value') == item) {
|
||||
$item_element.prop('checked', true);
|
||||
} else {
|
||||
$item_element.prop('checked', false);
|
||||
}
|
||||
$item_element.prop('disabled', disabled);
|
||||
}
|
||||
});
|
||||
|
||||
// Remove items that no longer exist.
|
||||
this.$container.find('input').each(function(i, obj) {
|
||||
var value = $(obj).val();
|
||||
var found = false;
|
||||
for (var index in items) {
|
||||
if (items[index] == value) {
|
||||
_.each(items, function(item, index) {
|
||||
if (item == value) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (!found) {
|
||||
$(obj).parent().remove();
|
||||
@ -230,37 +230,37 @@ define(["notebook/js/widgets/widget"], function(WidgetManager){
|
||||
// Add missing items to the DOM.
|
||||
var items = this.model.get('values');
|
||||
var disabled = this.model.get('disabled');
|
||||
for (var index in items) {
|
||||
var item_query = ' :contains("' + items[index] + '")';
|
||||
_.each(items, function(item, index) {
|
||||
var item_query = ' :contains("' + item + '")';
|
||||
if (this.$buttongroup.find(item_query).length === 0) {
|
||||
$('<button />')
|
||||
.attr('type', 'button')
|
||||
.addClass('btn')
|
||||
.text(items[index])
|
||||
.text(item)
|
||||
.appendTo(this.$buttongroup)
|
||||
.on('click', $.proxy(this.handle_click, this));
|
||||
}
|
||||
|
||||
var $item_element = this.$buttongroup.find(item_query);
|
||||
if (this.model.get('value') == items[index]) {
|
||||
if (this.model.get('value') == item) {
|
||||
$item_element.addClass('active');
|
||||
} else {
|
||||
$item_element.removeClass('active');
|
||||
}
|
||||
$item_element.prop('disabled', disabled);
|
||||
}
|
||||
$item_element.prop('disabled', disabled);
|
||||
});
|
||||
|
||||
// Remove items that no longer exist.
|
||||
this.$buttongroup.find('button').each(function(i, obj) {
|
||||
var value = $(obj).text();
|
||||
var found = false;
|
||||
for (var index in items) {
|
||||
if (items[index] == value) {
|
||||
_.each(items, function(item, index) {
|
||||
if (item == value) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (!found) {
|
||||
$(obj).remove();
|
||||
}
|
||||
@ -314,16 +314,16 @@ define(["notebook/js/widgets/widget"], function(WidgetManager){
|
||||
if (options === undefined || options.updated_view != this) {
|
||||
// Add missing items to the DOM.
|
||||
var items = this.model.get('values');
|
||||
for (var index in items) {
|
||||
var item_query = ' :contains("' + items[index] + '")';
|
||||
_.each(items, function(item, index) {
|
||||
var item_query = ' :contains("' + item + '")';
|
||||
if (this.$listbox.find(item_query).length === 0) {
|
||||
$('<option />')
|
||||
.text(items[index])
|
||||
.attr('value', items[index])
|
||||
.text(item)
|
||||
.attr('value', item)
|
||||
.appendTo(this.$listbox)
|
||||
.on('click', $.proxy(this.handle_click, this));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Select the correct element
|
||||
this.$listbox.val(this.model.get('value'));
|
||||
@ -336,12 +336,12 @@ define(["notebook/js/widgets/widget"], function(WidgetManager){
|
||||
this.$listbox.find('option').each(function(i, obj) {
|
||||
var value = $(obj).text();
|
||||
var found = false;
|
||||
for (var index in items) {
|
||||
if (items[index] == value) {
|
||||
_.each(items, function(item, index) {
|
||||
if (item == value) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (!found) {
|
||||
$(obj).remove();
|
||||
|
@ -39,28 +39,26 @@ define(["notebook/js/widgets/widget"], function(WidgetManager){
|
||||
if (options === undefined || options.updated_view != this) {
|
||||
// Set tab titles
|
||||
var titles = this.model.get('_titles');
|
||||
for (var page_index in titles) {
|
||||
|
||||
_.each(titles, function(title, page_index) {
|
||||
var accordian = this.containers[page_index];
|
||||
if (accordian !== undefined) {
|
||||
accordian
|
||||
.find('.accordion-heading')
|
||||
.find('.accordion-toggle')
|
||||
.text(titles[page_index]);
|
||||
.text(title);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Set selected page
|
||||
var selected_index = this.model.get("selected_index");
|
||||
if (0 <= selected_index && selected_index < this.containers.length) {
|
||||
for (var index in this.containers) {
|
||||
_.each(this.containers, function(container, index) {
|
||||
if (index==selected_index) {
|
||||
this.containers[index].find('.accordion-body').collapse('show');
|
||||
container.find('.accordion-body').collapse('show');
|
||||
} else {
|
||||
this.containers[index].find('.accordion-body').collapse('hide');
|
||||
container.find('.accordion-body').collapse('hide');
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return AccordionView.__super__.update.apply(this);
|
||||
@ -218,12 +216,12 @@ define(["notebook/js/widgets/widget"], function(WidgetManager){
|
||||
if (options === undefined || options.updated_view != this) {
|
||||
// Set tab titles
|
||||
var titles = this.model.get('_titles');
|
||||
for (var page_index in titles) {
|
||||
var tab_text = this.containers[page_index];
|
||||
_.each(titles, function(title, page_index) {
|
||||
var tab_text = this.containers[page_index];
|
||||
if (tab_text !== undefined) {
|
||||
tab_text.text(titles[page_index]);
|
||||
}
|
||||
}
|
||||
tab_text.text(title);
|
||||
}
|
||||
});
|
||||
|
||||
var selected_index = this.model.get('selected_index');
|
||||
if (0 <= selected_index && selected_index < this.containers.length) {
|
||||
|
Loading…
Reference in New Issue
Block a user