You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ve...@apache.org on 2012/02/23 17:01:05 UTC
svn commit: r1292835 - in /incubator/rave/trunk/rave-portal-resources/src:
main/webapp/script/rave.js main/webapp/script/rave_layout.js
main/webapp/script/rave_opensocial.js test/javascript/raveOpenSocialSpec.js
Author: venkatm
Date: Thu Feb 23 16:01:04 2012
New Revision: 1292835
URL: http://svn.apache.org/viewvc?rev=1292835&view=rev
Log:
RAVE-267: Custom Edit Prefs. Uses the PREFERENCES gadgets.views.ViewType for custom preferences
Modified:
incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js
incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js
incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js
incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js
Modified: incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js?rev=1292835&r1=1292834&r2=1292835&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js Thu Feb 23 16:01:04 2012
@@ -292,15 +292,7 @@ var rave = rave || (function() {
function maximizeAction(args) {
var regionWidgetId = args.data.id;
// display the widget in maximized view
- addOverlay($("#pageContent"));
- $(".region" ).sortable( "option", "disabled", true );
- $("#widget-" + regionWidgetId + "-wrapper").removeClass("widget-wrapper").addClass("widget-wrapper-canvas");
- // hide the widget menu
- $("#widget-" + regionWidgetId + "-widget-menu-wrapper").hide();
- // display the widget minimize button
- $("#widget-" + regionWidgetId + "-min").show();
- // hide the collapse/restore toggle icon in canvas mode
- $("#widget-" + regionWidgetId + "-collapse").hide();
+ openFullScreenOverlay(regionWidgetId);
var widget = rave.getRegionWidgetById(regionWidgetId);
if(typeof widget != "undefined" && isFunction(widget.maximize)) {
widget.maximize();
@@ -331,6 +323,17 @@ var rave = rave || (function() {
}
}
+ function editCustomPrefsAction(args) {
+ var regionWidgetId = args.data.id;
+
+ // display the custom edit prefs for the widget in maximized view
+ openFullScreenOverlay(regionWidgetId);
+ var widget = rave.getRegionWidgetById(regionWidgetId);
+ if(typeof widget != "undefined" ) {
+ widget.editCustomPrefs();
+ }
+ }
+
function toggleCollapseAction(args) {
var regionWidgetId = args.data.id;
var widget = getRegionWidgetById(regionWidgetId);
@@ -601,6 +604,18 @@ var rave = rave || (function() {
jqElm.prepend(overlay[0]);
}
+ function openFullScreenOverlay(regionWidgetId) {
+ addOverlay($("#pageContent"));
+ $(".region").sortable("option", "disabled", true);
+ $("#widget-" + regionWidgetId + "-wrapper").removeClass("widget-wrapper").addClass("widget-wrapper-canvas");
+ // hide the widget menu
+ $("#widget-" + regionWidgetId + "-widget-menu-wrapper").hide();
+ // display the widget minimize button
+ $("#widget-" + regionWidgetId + "-min").show();
+ // hide the collapse/restore toggle icon in canvas mode
+ $("#widget-" + regionWidgetId + "-collapse").hide();
+ }
+
/**
* Applies styling to the several buttons in the widget toolbar
* @param widgetId identifier of the region widget
@@ -690,6 +705,7 @@ var rave = rave || (function() {
maximizeAction: maximizeAction,
minimizeAction: minimizeAction,
editPrefsAction: editPrefsAction,
+ editCustomPrefsAction: editCustomPrefsAction,
setMobileState: setMobileState,
getMobileState: getMobileState,
doWidgetUiCollapse: doWidgetUiCollapse,
@@ -986,6 +1002,13 @@ var rave = rave || (function() {
editPrefs: ui.editPrefsAction,
/***
+ * "Preferences" view
+ *
+ * @param args the argument object
+ */
+ editCustomPrefs: ui.editCustomPrefsAction,
+
+ /***
* Get the mobile state - used by the UI to render mobile or normal content
*
*/
Modified: incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js?rev=1292835&r1=1292834&r2=1292835&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js Thu Feb 23 16:01:04 2012
@@ -347,22 +347,27 @@ rave.layout = rave.layout || (function()
}
/**
- * Enables the Edit Prefs menu item in the widget menu to be clicked.
+ * Enables the Edit Prefs including the Preferences view (Custom Edit Prefs)
+ * menu item in the widget menu to be clicked.
* Widget providers should use this function when initializing their
* widgets after determining if the widget has preferences to modify.
*
* @param regionWidgetId the regionWidgetId of the regionWidget menu to enable
+ * @param isPreferencesView boolean to indicate whether "preferences" view or the default prefs view
*/
- function enableEditPrefsMenuItem(regionWidgetId) {
+ function enableEditPrefsMenuItem(regionWidgetId, isPreferencesView) {
// setup the edit prefs widget menu item
var $menuItemEditPrefs = $("#widget-" + regionWidgetId + "-menu-editprefs-item");
$menuItemEditPrefs.removeClass("widget-menu-item-disabled");
$menuItemEditPrefs.bind('click', function(event) {
var regionWidgetId = rave.getObjectIdFromDomId(this.id);
// hide the widget menu
- rave.layout.hideWidgetMenu(regionWidgetId);
- // show the edit prefs region
- rave.editPrefs(regionWidgetId);
+ rave.layout.hideWidgetMenu(regionWidgetId);
+ // show the regular edit prefs or the Custom Edit Prefs(preferences) region
+ if ( isPreferencesView )
+ rave.editCustomPrefs({data: {id: regionWidgetId}});
+ else
+ rave.editPrefs(regionWidgetId);
// prevent the menu button click event from bubbling up to parent
// DOM object event handlers such as the page tab click event
event.stopPropagation();
Modified: incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js?rev=1292835&r1=1292834&r2=1292835&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js Thu Feb 23 16:01:04 2012
@@ -24,7 +24,8 @@ rave.opensocial = rave.opensocial || (fu
var VIEW_NAMES = {
CANVAS : "canvas",
DEFAULT : "default",
- HOME : "home"
+ HOME : "home",
+ PREFERENCES: "preferences"
};
var container;
@@ -133,10 +134,20 @@ rave.opensocial = rave.opensocial || (fu
// re-render the gadget in the same view if the gadget is not collapsed
renderGadgetViewIfNotCollapsed(rave.opensocial.getCurrentView(this.regionWidgetId), this);
};
-
- // if the gadget has prefences to edit, enable the edit prefs menu item
- if (gadget.metadata.hasPrefsToEdit) {
- rave.layout.enableEditPrefsMenuItem(gadget.regionWidgetId);
+ gadget.editCustomPrefs = function() {
+ // display the gadget in custom edit prefs view
+ renderGadgetView(rave.opensocial.VIEW_NAMES.PREFERENCES, this);
+ };
+
+ // if the gadget has prefences to edit, or has the Preferences view
+ // enable the edit prefs menu item
+ if (gadget.metadata.hasPrefsToEdit || gadget.metadata.views.preferences) {
+ if ( gadget.metadata.views.preferences != undefined ) {
+ rave.layout.enableEditPrefsMenuItem(gadget.regionWidgetId, true);
+ }
+ else {
+ rave.layout.enableEditPrefsMenuItem(gadget.regionWidgetId, false);
+ }
}
// if the gadget is not collapsed, render it
@@ -307,6 +318,9 @@ rave.opensocial = rave.opensocial || (fu
case VIEW_NAMES.HOME:
rave.minimizeWidget(fnArgs);
break;
+ case VIEW_NAMES.PREFERENCES:
+ rave.editCustomPrefs(fnArgs);
+ break;
}
}
Modified: incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js?rev=1292835&r1=1292834&r2=1292835&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js (original)
+++ incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveOpenSocialSpec.js Thu Feb 23 16:01:04 2012
@@ -206,8 +206,20 @@ describe("Rave OpenSocial", function() {
rave.opensocial.init();
container.rpcHooks()["requestNavigateTo"](getMockRequestNavigateToArgs("widget-" + expectedArgs.data.id + "-body"), VIEW_NAME);
expect(rave.minimizeWidget).toHaveBeenCalledWith(expectedArgs);
- });
-
+ });
+
+ it("requestNavigateTo changes the view to PREFERENCES", function() {
+ var VIEW_NAME = "preferences";
+ var expectedArgs = {};
+ expectedArgs.data = {};
+ expectedArgs.data.id = "7";
+ spyOn(rave, "editCustomPrefs");
+
+ rave.opensocial.init();
+ container.rpcHooks()["requestNavigateTo"](getMockRequestNavigateToArgs("widget-" + expectedArgs.data.id + "-body"), VIEW_NAME);
+ expect(rave.editCustomPrefs).toHaveBeenCalledWith(expectedArgs);
+ });
+
it("requestNavigateTo does not throw an error if an unknown view is passed", function() {
var VIEW_NAME = "___UNKNOWN___";
var expectedArgs = {};