You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2013/08/16 14:41:57 UTC
svn commit: r1514682 - in
/rave/trunk/rave-portal-resources/src/main/webapp/static/script:
core/rave_opensocial.js portal/rave_ui.js
Author: mfranklin
Date: Fri Aug 16 12:41:56 2013
New Revision: 1514682
URL: http://svn.apache.org/r1514682
Log:
Fixed multiple custom edit prefs dialog (RAVE-1038)
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js
rave/trunk/rave-portal-resources/src/main/webapp/static/script/portal/rave_ui.js
Modified: rave/trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js?rev=1514682&r1=1514681&r2=1514682&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js Fri Aug 16 12:41:56 2013
@@ -117,7 +117,8 @@ define(['underscore', 'core/rave_view_ma
var widget = args.gs._widget,
viewSurface = viewName.split('.')[0],
renderInto = viewManager.getView(viewSurface) ? viewSurface : widget._el;
-
+ //If the element has no ID then it was launched in some secondary location. Destroy the view.
+ if(widget._el.id === "") viewManager.destroyView(widget._view);
widget.render(renderInto, {view: viewName, view_params: opt_params, ownerId: opt_ownerId});
}
Modified: rave/trunk/rave-portal-resources/src/main/webapp/static/script/portal/rave_ui.js
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/static/script/portal/rave_ui.js?rev=1514682&r1=1514681&r2=1514682&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/static/script/portal/rave_ui.js (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/static/script/portal/rave_ui.js Fri Aug 16 12:41:56 2013
@@ -407,9 +407,7 @@ define(["jquery", "underscore", "rave",
var hasRequiredUserPrefs = false;
if (widgetDefinition.metadata.views.preferences) {
- var opts = {};
- _.extend(opts, widgetDefinition.metadata.views.preferences, {view: 'preferences'});
- widget.render('dialog', opts);
+ widget._view = rave.renderView('preferences', widgetDefinition);
} else {
//format the data for display
_.each(userPrefs, function (pref) {
@@ -676,7 +674,9 @@ define(["jquery", "underscore", "rave",
}
function showPrefsPane() {
- showWidgetPrefs(widget);
+ if(widget._view.name !== "preferences") {
+ showWidgetPrefs(widget);
+ }
return false;
}
@@ -736,6 +736,31 @@ define(["jquery", "underscore", "rave",
rave.registerView('home', HomeView);
}
+ function registerPreferencesView() {
+ var PreferencesView = function(widget) {
+ this.widget = widget;
+ this.name = "preferences";
+ }
+
+ PreferencesView.prototype.render = function () {
+ var opts = {};
+ _.extend(opts, this.widget.metadata.views.preferences, {view:"preferences"});
+ this.view = rave.renderView("modal_dialog");
+ var widgetSite = this.view.getWidgetSite();
+ this.widget.render(widgetSite, opts);
+ }
+
+ PreferencesView.prototype.getWidgetSite = function() {
+ return this.view.getWidgetSite();
+ }
+
+ PreferencesView.prototype.destroy = function () {
+ this.widget._provider.closeWidget(this.widget);
+ rave.destroyView(this.view);
+ }
+ rave.registerView('preferences', PreferencesView);
+ }
+
function registerCanvasView() {
var CanvasView = function (widget) {
this.widget = widget;
@@ -856,7 +881,6 @@ define(["jquery", "underscore", "rave",
},
cleanup: function (content) {
var container = content.parents(this.containerSelector);
-
container.modal('hide');
},
singleton: false
@@ -881,7 +905,6 @@ define(["jquery", "underscore", "rave",
},
cleanup: function (content) {
var container = content.parents(this.containerSelector);
-
container.modal('hide');
},
singleton: true
@@ -929,6 +952,7 @@ define(["jquery", "underscore", "rave",
function init() {
initializePageSharing();
+ registerPreferencesView();
registerHomeView();
registerCanvasView();
registerPopups();