You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ca...@apache.org on 2011/10/11 20:48:52 UTC
svn commit: r1182021 - in /incubator/rave/trunk/rave-portal-resources/src:
main/resources/ main/webapp/WEB-INF/views/ main/webapp/css/
main/webapp/script/ test/javascript/
Author: carlucci
Date: Tue Oct 11 18:48:51 2011
New Revision: 1182021
URL: http://svn.apache.org/viewvc?rev=1182021&view=rev
Log:
RAVE-116: Create widget menu in titlebar chrome
All widget actions are now consolidated under a single widget menu
Modified:
incubator/rave/trunk/rave-portal-resources/src/main/resources/messages.properties
incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/views/home.jsp
incubator/rave/trunk/rave-portal-resources/src/main/webapp/css/default.css
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/raveSpec.js
Modified: incubator/rave/trunk/rave-portal-resources/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/resources/messages.properties?rev=1182021&r1=1182020&r2=1182021&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/resources/messages.properties (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/resources/messages.properties Tue Oct 11 18:48:51 2011
@@ -70,6 +70,8 @@ page.general.addpage.selectlayout=Select
page.home.welcome=Hello {0}, welcome to Rave!
+page.menu.title=Page Actions Menu
+
page.login.title=Login
page.login.createaccount=New User
page.login.createaccount.label=Register:
@@ -144,5 +146,11 @@ widget.url.required=URL is required
widget.widgetStatus.PREVIEW=This widget is waiting for approval by the site administrator.
widget.widgetStatus.PUBLISHED=
-widget.general.movewidget=Move widget
-widget.general.movethiswidget=Move this widget to page:
\ No newline at end of file
+widget.chrome.toggle=Collapse/Restore Widget
+
+widget.menu.delete=Delete Widget
+widget.menu.editprefs=Edit Preferences
+widget.menu.maximize=Maximize
+widget.menu.movethiswidget=Move this widget to page:
+widget.menu.movetopage=Move to Page
+widget.menu.title=Widget Actions
Modified: incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/views/home.jsp
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/views/home.jsp?rev=1182021&r1=1182020&r2=1182021&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/views/home.jsp (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/views/home.jsp Tue Oct 11 18:48:51 2011
@@ -66,7 +66,7 @@
<div id="pageTitle-${userPage.entityId}" class="page-title" onclick="rave.viewPage(${userPage.entityId});"><c:out value="${userPage.name}"/></div>
<c:if test="${isCurrentPage}">
<div id="pageMenuWrapper">
- <span id="pageMenuButton" class="ui-icon ui-icon-circle-triangle-s" title="Page Actions Menu"></span>
+ <span id="pageMenuButton" class="ui-icon ui-icon-circle-triangle-s" title="<fmt:message key="page.menu.title"/>"></span>
<div id="pageMenu" class="page-menu">
<div id="pageMenuEdit" class="page-menu-item"><fmt:message key="page.general.editpage"/></div>
<div id="pageMenuDelete" class="page-menu-item<c:if test='${hasOnlyOnePage}'> page-menu-item-disabled</c:if>">
@@ -90,7 +90,7 @@
<c:forEach var="regionWidget" items="${region.regionWidgets}">
<div class="widget-wrapper" id="widget-${regionWidget.entityId}-wrapper">
<div class="widget-title-bar">
- <span id="widget-${regionWidget.entityId}-collapse" class="widget-toolbar-toggle-collapse" title="Collapse/Restore Widget"></span>
+ <span id="widget-${regionWidget.entityId}-collapse" class="widget-toolbar-toggle-collapse" title="<fmt:message key="widget.chrome.toggle"/>"></span>
<div id="widget-${regionWidget.entityId}-title" class="widget-title">
<c:choose>
<c:when test="${not empty regionWidget.widget.titleUrl}">
@@ -101,25 +101,33 @@
</c:otherwise>
</c:choose>
</div>
- <!-- These are toolbar buttons -->
+ <%-- These are toolbar buttons --%>
<div id="widget-${regionWidget.entityId}-toolbar" style="float:right;">
<div id="widget-${regionWidget.entityId}-widget-menu-wrapper" class="widget-menu-wrapper">
- <span id="widget-${regionWidget.entityId}-menu-button" class="widget-menu-button ui-icon ui-icon-circle-triangle-s" title="Widget Actions Menu"></span>
+ <span id="widget-${regionWidget.entityId}-menu-button" class="widget-menu-button ui-icon ui-icon-gear" title="<fmt:message key="widget.menu.title"/>"></span>
<div id="widget-${regionWidget.entityId}-menu" class="widget-menu">
+ <%--
+ By default the edit prefs item is disabled.
+ Each provider's widget initialization will be responsible for enabling this item
+ if the widget has preferences to be edited
+ --%>
+ <div id="widget-${regionWidget.entityId}-menu-editprefs-item" class="widget-menu-item widget-menu-item-disabled">
+ <fmt:message key="widget.menu.editprefs"/>
+ </div>
+ <div id="widget-${regionWidget.entityId}-menu-maximize-item" class="widget-menu-item">
+ <fmt:message key="widget.menu.maximize"/>
+ </div>
<div id="widget-${regionWidget.entityId}-menu-move-item" class="widget-menu-item<c:if test='${hasOnlyOnePage}'> widget-menu-item-disabled</c:if>">
- <fmt:message key="widget.general.movewidget"/>
+ <fmt:message key="widget.menu.movetopage"/>
</div>
- </div>
- </div>
- <button id="widget-${regionWidget.entityId}-prefs"
- class="widget-toolbar-btn widget-toolbar-btn-prefs">
- </button>
- <button id="widget-${regionWidget.entityId}-max"
- class="widget-toolbar-btn">
- </button>
- <button id="widget-${regionWidget.entityId}-remove"
- class="widget-toolbar-btn">
- </button>
+ <div id="widget-${regionWidget.entityId}-menu-delete-item" class="widget-menu-item">
+ <fmt:message key="widget.menu.delete"/>
+ </div>
+ </div>
+ </div>
+ <%-- the minimize widget button, which is hidden by default and only displays in maximized view --%>
+ <button id="widget-${regionWidget.entityId}-min"
+ class="widget-toolbar-btn widget-toolbar-btn-min"></button>
</div>
</div>
<div class="widget-prefs" id="widget-${regionWidget.entityId}-prefs-content"></div>
@@ -173,9 +181,9 @@
</select>
</form>
</div>
- <fmt:message key="widget.general.movewidget" var="moveWidgetToPageTitle"/>
+ <fmt:message key="widget.menu.movetopage" var="moveWidgetToPageTitle"/>
<div id="moveWidgetDialog" title="${moveWidgetToPageTitle}" class="dialog">
- <div><fmt:message key="widget.general.movethiswidget"/></div>
+ <div><fmt:message key="widget.menu.movethiswidget"/></div>
<form id="moveWidgetForm">
<select id="moveToPageId">
<c:forEach var="userPage" items="${pages}">
Modified: incubator/rave/trunk/rave-portal-resources/src/main/webapp/css/default.css
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/main/webapp/css/default.css?rev=1182021&r1=1182020&r2=1182021&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/main/webapp/css/default.css (original)
+++ incubator/rave/trunk/rave-portal-resources/src/main/webapp/css/default.css Tue Oct 11 18:48:51 2011
@@ -407,6 +407,10 @@ button.widget-toolbar-btn-prefs {
display: none;
}
+button.widget-toolbar-btn-min {
+ display: none;
+}
+
.widget-toolbar-toggle-collapse {
display: inline-block;
vertical-align: middle;
@@ -575,7 +579,7 @@ span.error, label.error {
display: none;
left: 18px;
top: 0;
- width: 80px;
+ width: 100px;
background-color: #FFFFFF;
z-index: 1000;
cursor: pointer;
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=1182021&r1=1182020&r2=1182021&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 Tue Oct 11 18:48:51 2011
@@ -55,11 +55,8 @@ var rave = rave || (function() {
var WIDGET_PREFS_INPUT_REQUIRED_CLASS = "widget-prefs-input-required";
var WIDGET_PREFS_INPUT_FAILED_VALIDATION = "widget-prefs-input-failed-validation";
- var WIDGET_ICON_BASE_CLASS = "ui-icon";
- var WIDGET_BTN_MAXIMIZE_CLASS = "ui-icon-arrow-4-diag";
+ var WIDGET_ICON_BASE_CLASS = "ui-icon";
var WIDGET_BTN_MINIMIZE_CLASS = "ui-icon-arrowthick-1-sw";
- var WIDGET_BTN_DELETE_CLASS = "ui-icon-close";
- var WIDGET_BTN_EDIT_PREFS_CLASS = "ui-icon-pencil";
var WIDGET_TOGGLE_DISPLAY_COLLAPSED = "ui-icon-triangle-1-e";
var WIDGET_TOGGLE_DISPLAY_NORMAL = "ui-icon-triangle-1-s";
@@ -145,42 +142,36 @@ 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-" + args.data.id + "-wrapper").removeClass("widget-wrapper").addClass("widget-wrapper-canvas");
-
- // changes to 'max' button:
- // 1) clear out the previous max button click event and attach a new one
- // 2) change the image
- var $maxButton = $("#widget-" + args.data.id + "-max");
- $maxButton.unbind("click");
- $maxButton.click({id:args.data.id}, minimizeAction);
- $maxButton.button("option", "icons", {primary:WIDGET_BTN_MINIMIZE_CLASS});
-
+ $("#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-" + args.data.id + "-collapse").hide();
- var widget = rave.getWidgetById(args.data.id);
+ $("#widget-" + regionWidgetId + "-collapse").hide();
+ var widget = rave.getWidgetById(regionWidgetId);
if(typeof widget != "undefined" && isFunction(widget.maximize)) {
widget.maximize();
}
}
function minimizeAction(args) {
+ var regionWidgetId = args.data.id;
$(".dnd-overlay").remove();
$(".region" ).sortable( "option", "disabled", false );
- $("#widget-" + args.data.id + "-wrapper").removeClass("widget-wrapper-canvas").addClass("widget-wrapper");
-
- // changes to 'max' button:
- // 1) clear out the previous max button click event and attach a new one
- // 2) change the image
- var $maxButton = $("#widget-" + args.data.id + "-max");
- $maxButton.unbind("click");
- $maxButton.click({id:args.data.id}, maximizeAction);
- $maxButton.button("option", "icons", {primary:WIDGET_BTN_MAXIMIZE_CLASS});
-
- // re-show the collapse/restore toggle icon
- $("#widget-" + args.data.id + "-collapse").show();
- var widget = rave.getWidgetById(args.data.id);
+ // display the widget in normal view
+ $("#widget-" + regionWidgetId + "-wrapper").removeClass("widget-wrapper-canvas").addClass("widget-wrapper");
+ // hide the widget minimize button
+ $("#widget-" + regionWidgetId + "-min").hide();
+ // show the widget menu
+ $("#widget-" + regionWidgetId + "-widget-menu-wrapper").show();
+ // show the collapse/restore toggle icon
+ $("#widget-" + regionWidgetId + "-collapse").show();
+ var widget = rave.getWidgetById(regionWidgetId);
// if the widget is collapsed execute the collapse function
// otherwise execute the minimize function
if(typeof widget != "undefined"){
@@ -216,17 +207,7 @@ var rave = rave || (function() {
rave.api.rest.saveWidgetCollapsedState(functionArgs);
}
-
- function deleteAction(args) {
- if (confirm("Are you sure you want to remove this widget from your page")) {
- rave.api.rpc.removeWidget({
- regionWidgetId: args.data.id,
- successCallback: function() {
- $("#widget-" + args.data.id + "-wrapper").remove();
- }
- });
- }
- }
+
/**
* Utility function to generate the html label for a userPref
* based on if it is required or not
@@ -274,8 +255,8 @@ var rave = rave || (function() {
return isValid;
}
- function editPrefsAction(args) {
- var regionWidget = getWidgetById(args.data.id);
+ function editPrefsAction(regionWidgetId) {
+ var regionWidget = getWidgetById(regionWidgetId);
var userPrefs = regionWidget.metadata.userPrefs;
var hasRequiredUserPrefs = false;
@@ -458,30 +439,15 @@ var rave = rave || (function() {
function styleWidgetButtons(widgetId) {
var widget = rave.getWidgetById(widgetId);
- // init the maximize button
- $("#widget-" + widgetId + "-max").button({
- text: false,
- icons: {
- primary: WIDGET_BTN_MAXIMIZE_CLASS
- }
- }).click({id: widgetId}, maximizeAction);
-
- // init the delete button
- $("#widget-" + widgetId + "-remove").button({
- text: false,
- icons: {
- primary: WIDGET_BTN_DELETE_CLASS
- }
- }).click({id: widgetId}, deleteAction);
-
- // init the edit preferences button
- $("#" + WIDGET_PREFS_EDIT_BUTTON(widgetId)).button({
+ // init the widget minimize button which is hidden by default
+ // and only renders when widget is in maximized view
+ $("#widget-" + widgetId + "-min").button({
text: false,
icons: {
- primary: WIDGET_BTN_EDIT_PREFS_CLASS
+ primary: WIDGET_BTN_MINIMIZE_CLASS
}
- }).click({id: widgetId}, editPrefsAction);
-
+ }).click({id: widgetId}, rave.minimizeWidget);
+
// init the collapse/restore toggle
// conditionally style the icon and setup the event handlers
var $toggleCollapseIcon = $("#widget-" + widgetId + "-collapse");
@@ -516,7 +482,8 @@ var rave = rave || (function() {
init : init,
toggleCollapseWidgetIcon: toggleCollapseWidgetIcon,
maximizeAction: maximizeAction,
- minimizeAction: minimizeAction
+ minimizeAction: minimizeAction,
+ editPrefsAction: editPrefsAction
};
})();
@@ -719,6 +686,15 @@ var rave = rave || (function() {
*
* @param args the argument object
*/
- minimizeWidget: ui.minimizeAction
+ minimizeWidget: ui.minimizeAction,
+
+ /***
+ * Display the inline edit prefs section for widget preferences inside
+ * the widget.
+ *
+ * @param regionWidgetId the regionWidgetId of the widget
+ *
+ */
+ editPrefs: ui.editPrefsAction
}
})();
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=1182021&r1=1182020&r2=1182021&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 Tue Oct 11 18:48:51 2011
@@ -191,20 +191,30 @@ rave.layout = rave.layout || (function()
// widget menu related functions
var widgetMenu = (function() {
- var $menu ;
- var $menuItemMove ;
+ var $menu;
+ var $menuItemMove;
+ var $menuItemDelete;
+ var $menuItemMaximize;
- function hideMenu() {
- $(".widget-menu-button").each(function(index, element) {
- if (!$(element).hasClass("widget-menu-item-disabled")) {
- $menu = $("#widget-" + rave.getObjectIdFromDomId(this.id) + "-menu");
- $menu.hide();
- }
- });
- }
-
- function showMenu() {
- $menu.show();
+ /**
+ * Hides the widget menu for a specific widget
+ * @param widgetId the id of the widget to hide the menu for
+ */
+ function hideMenu(widgetId) {
+ $("#widget-" + widgetId + "-menu").hide();
+ }
+ /**
+ * Hides all widget menus
+ */
+ function hideAllMenus() {
+ $(".widget-menu").hide();
+ }
+ /**
+ * Shows the widget menu for a specific widget
+ * @param widgetId the id of the widget to show the menu for
+ */
+ function showMenu(widgetId) {
+ $("#widget-" + widgetId + "-menu").show();
}
/**
@@ -227,29 +237,97 @@ rave.layout = rave.layout || (function()
}
});
- $(".widget-menu-item").each(function(index, element) {
- if (!$(element).hasClass("widget-menu-item-disabled")) {
- $(element).bind('click', function(event) {
- $menu = $("#widget-" + rave.getObjectIdFromDomId(this.id) + "-menu");
- $menuItemMove = $("#widget-" + rave.getObjectIdFromDomId(this.id) + "-menu-move-item") ;
+ // loop over each widget-menu and initialize the menu items
+ // note: the edit prefs menu item is by default rendered disabled
+ // and it is up to the provider code for that widget to
+ // determine if the widget has preferences, and to enable
+ // the menu item
+ $(".widget-menu").each(function(index, element){
+ var widgetId = rave.getObjectIdFromDomId(element.id);
+
+ // setup the move to page menu item
+ $menuItemMove = $("#widget-" + widgetId + "-menu-move-item");
+ if (!$menuItemMove.hasClass("widget-menu-item-disabled")) {
+ $menuItemMove.bind('click', function(event) {
+ var regionWidgetId = rave.getObjectIdFromDomId(this.id);
$moveWidgetDialog
- .data('regionWidgetId', rave.getObjectIdFromDomId(this.id))
+ .data('regionWidgetId', regionWidgetId)
.dialog("open");
+
+ // hide the widget menu
+ rave.layout.hideWidgetMenu(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();
});
- }
+ }
+
+ // setup the delete widget menu item
+ $menuItemDelete = $("#widget-" + widgetId + "-menu-delete-item");
+ if (!$menuItemDelete.hasClass("widget-menu-item-disabled")) {
+ $menuItemDelete.bind('click', function(event) {
+ var regionWidgetId = rave.getObjectIdFromDomId(this.id);
+ // hide the widget menu
+ rave.layout.hideWidgetMenu(regionWidgetId);
+ // invoke the rpc call to remove the widget from the page
+ rave.layout.deleteRegionWidget(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();
+ });
+ }
+
+ // setup the maximize widget menu item
+ $menuItemMaximize = $("#widget-" + widgetId + "-menu-maximize-item");
+ if (!$menuItemMaximize.hasClass("widget-menu-item-disabled")) {
+ $menuItemMaximize.bind('click', function(event) {
+ var regionWidgetId = rave.getObjectIdFromDomId(this.id);
+ // hide the widget menu
+ rave.layout.hideWidgetMenu(regionWidgetId);
+ // maximize the widget
+ rave.maximizeWidget({data: {id: 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();
+ });
+ }
});
// close the widget menu if the user clicks outside of it
- $("html").click(widgetMenu.hide);
+ $("html").click(widgetMenu.hideAll);
+ }
+
+ /**
+ * Enables the 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
+ */
+ function enableEditPrefsMenuItem(regionWidgetId) {
+ // 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);
+ // prevent the menu button click event from bubbling up to parent
+ // DOM object event handlers such as the page tab click event
+ event.stopPropagation();
+ });
}
return {
init: init,
- hide: hideMenu,
- show: showMenu
+ hideAll: hideAllMenus,
+ hide: hideMenu,
+ show: showMenu,
+ enableEditPrefsMenuItem: enableEditPrefsMenuItem
}
})();
@@ -315,6 +393,23 @@ rave.layout = rave.layout || (function()
}
/**
+ * Invokes the RPC call to delete a regionWidget from a page
+ * TODO: RAVE-299 - how can we load the confirmation text from the message bundles
+ *
+ * @param regionWidgetId the regionWidgetId to delete
+ */
+ function deleteRegionWidget(regionWidgetId) {
+ if (confirm("Are you sure you want to remove this widget from your page?")) {
+ rave.api.rpc.removeWidget({
+ regionWidgetId: regionWidgetId,
+ successCallback: function() {
+ $("#widget-" + this.regionWidgetId + "-wrapper").remove();
+ }
+ });
+ }
+ }
+
+ /**
* Returns the pageId of the currently viewed page
*/
function getCurrentPageId() {
@@ -343,6 +438,9 @@ rave.layout = rave.layout || (function()
// public rave.layout API
return {
init: init,
- getCurrentPageId: getCurrentPageId
+ getCurrentPageId: getCurrentPageId,
+ hideWidgetMenu: widgetMenu.hide,
+ deleteRegionWidget: deleteRegionWidget,
+ enableEditPrefsMenuItem: widgetMenu.enableEditPrefsMenuItem
};
})();
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=1182021&r1=1182020&r2=1182021&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 Tue Oct 11 18:48:51 2011
@@ -136,9 +136,9 @@ rave.opensocial = rave.opensocial || (fu
renderGadgetViewIfNotCollapsed(rave.opensocial.getCurrentView(this.regionWidgetId), this);
};
- // if the gadget has prefences to edit, display the edit prefs button in the gadget chrome
- if (gadget.metadata.hasPrefsToEdit) {
- $("#widget-" + gadget.regionWidgetId + "-prefs").show();
+ // if the gadget has prefences to edit, enable the edit prefs menu item
+ if (gadget.metadata.hasPrefsToEdit) {
+ rave.layout.enableEditPrefsMenuItem(gadget.regionWidgetId);
}
// if the gadget is not collapsed, render it
Modified: incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveSpec.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveSpec.js?rev=1182021&r1=1182020&r2=1182021&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveSpec.js (original)
+++ incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveSpec.js Tue Oct 11 18:48:51 2011
@@ -472,9 +472,6 @@ describe("Rave", function() {
valuesMap["sortableAttrName"] = attrName;
valuesMap["sortableAttrValue"] = attrValue;
},
- unbind: function(eventName) {
- valuesMap["unbindEventName"] = eventName;
- },
click: function(args, fn) {
valuesMap["clickArgs"] = args;
valuesMap["clickFn"] = fn;
@@ -485,10 +482,10 @@ describe("Rave", function() {
valuesMap["buttonAttrArgs"] = attrArgs;
},
hide: function() {
- valuesMap["hideWasCalled"] = true;
+ valuesMap["hideWasCalled-" + expression] = true;
},
show: function() {
- valuesMap["showWasCalled"] = true;
+ valuesMap["showWasCalled-" + expression] = true;
},
height: function() {
@@ -533,20 +530,15 @@ describe("Rave", function() {
expect($().getValue("sortableAttrValue")).toEqual(true);
// verify the CSS styles
expect($().hasClass("widget-wrapper-canvas")).toEqual(true);
- expect($().hasClass("widget-wrapper")).toEqual(false);
- // verify the unbind parameter
- expect($().getValue("unbindEventName")).toEqual("click");
- // verify the click parameters
- expect($().getValue("clickArgs")).toEqual({id: args.data.id});
- expect(rave.isFunction($().getValue("clickFn"))).toEqual(true);
- // verify the button parameters
- expect($().getValue("buttonOption")).toEqual("option");
- expect($().getValue("buttonAttrName")).toEqual("icons");
- expect($().getValue("buttonAttrArgs")).toEqual({primary:"ui-icon-arrowthick-1-sw"});
+ expect($().hasClass("widget-wrapper")).toEqual(false);
+ // verify widget menu hide was called
+ expect($().getValue("hideWasCalled-#widget-" + args.data.id + "-widget-menu-wrapper")).toEqual(true);
+ // verify widget minimize show was called
+ expect($().getValue("showWasCalled-#widget-" + args.data.id + "-min")).toEqual(true);
// verify getWidgetById called
expect(rave.getWidgetById).toHaveBeenCalledWith(args.data.id);
- // verify hide was called
- expect($().getValue("hideWasCalled")).toEqual(true);
+ // verify collapse/restore icon hide was called
+ expect($().getValue("hideWasCalled-#widget-" + args.data.id + "-collapse")).toEqual(true);
// verify widget.maximize was called
expect(mockWidget.maximizeWasCalled).toEqual(true);
@@ -576,22 +568,16 @@ describe("Rave", function() {
// verify the CSS styles
expect($().hasClass("widget-wrapper-canvas")).toEqual(false);
expect($().hasClass("widget-wrapper")).toEqual(true);
- // verify the unbind parameter
- expect($().getValue("unbindEventName")).toEqual("click");
- // verify the click parameters
- expect($().getValue("clickArgs")).toEqual({id: args.data.id});
- expect(rave.isFunction($().getValue("clickFn"))).toEqual(true);
- // verify the button parameters
- expect($().getValue("buttonOption")).toEqual("option");
- expect($().getValue("buttonAttrName")).toEqual("icons");
- expect($().getValue("buttonAttrArgs")).toEqual({primary:"ui-icon-arrow-4-diag"});
- // verify show was called
- expect($().getValue("showWasCalled")).toEqual(true);
+ // verify widget minimize hide was called
+ expect($().getValue("hideWasCalled-#widget-" + args.data.id + "-min")).toEqual(true);
+ // verify widget menu show was called
+ expect($().getValue("showWasCalled-#widget-" + args.data.id + "-widget-menu-wrapper")).toEqual(true);
+ // verify collapse/restore icon show was called
+ expect($().getValue("showWasCalled-#widget-" + args.data.id + "-collapse")).toEqual(true);
// verify getWidgetById called
expect(rave.getWidgetById).toHaveBeenCalledWith(args.data.id);
// verify widget.minimize was called
expect(mockWidget.minimizeWasCalled).toEqual(true);
- });
-
+ });
});
});
\ No newline at end of file