app/scripts/views/mainPage/widgetBar.js (68 lines of code) (raw):
App.LeftWidgetBarView = Em.View.extend({
templateName: "mainPage/widgetBar",
classNames: ["left-widget-bar", "widget-bar"],
didInsertElement: function () {
var containerView = Ember.View.views.left_widget_bar_container_view;
containerView.updateWidgets();
},
});
App.LeftWidgetBarContainerView = Ember.ContainerView.extend({
tagName: "ul",
didInsertElement: function () {
Ember.run.scheduleOnce('afterRender', this, function () {
App.Util.initWidgetBarCarousel();
});
},
getWidgetViewMap: function () {
if (!this.get("widgetViewMap")) {
this.createWidgetViewMap();
}
return this.get("widgetViewMap");
},
createWidgetViewMap: function () {
var widgetViewMap = {
nodesWidget: App.NodesWidgetWrapperView,
infoWidget: App.InfoWidgetWrapperView,
legendWidget: App.LegendWidgetWrapperView
};
this.set("widgetViewMap", widgetViewMap);
},
updateWidgets: function () {
var configuredWidgets = $.parseJSON(localStorage.getItem("configuredWidgets")),
container = this;
container.removeAllChildren();
configuredWidgets.forEach(function (item, index, enumerable) {
if (!item.rightSide) {
var childView = container.createChildView(container.getWidgetViewMap()[item.information.id]);
container.pushObject(childView);
}
});
Ember.run.scheduleOnce('afterRender', this, function () {
App.Util.initWidgetBarCarousel();
});
}
});
App.RightWidgetBarView = Em.View.extend({
templateName: "mainPage/rightWidgetBar",
classNames: ["right-widget-bar", "widget-bar"],
didInsertElement: function () {
var containerView = Ember.View.views.right_widget_bar_container_view;
containerView.updateWidgets();
},
});
App.RightWidgetBarContainerView = App.LeftWidgetBarContainerView.extend({
updateWidgets: function () {
var configuredWidgets = $.parseJSON(localStorage.getItem("configuredWidgets")),
container = this;
container.removeAllChildren();
configuredWidgets.forEach(function (item, index, enumerable) {
if (item.rightSide) {
var childView = container.createChildView(container.getWidgetViewMap()[item.information.id]);
container.pushObject(childView);
}
});
Ember.run.scheduleOnce('afterRender', this, function () {
App.Util.initWidgetBarCarousel();
});
}
});