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 2011/07/15 18:38:27 UTC
svn commit: r1147224 - in /incubator/rave/trunk/rave-portal/src:
main/webapp/WEB-INF/views/home.jsp main/webapp/script/rave.js
test/javascript/raveSpec.js
Author: mfranklin
Date: Fri Jul 15 16:38:26 2011
New Revision: 1147224
URL: http://svn.apache.org/viewvc?rev=1147224&view=rev
Log:
Refactored maximize & delete event attachment to simplify event handlers. (Supports RAVE-53)
Modified:
incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.jsp
incubator/rave/trunk/rave-portal/src/main/webapp/script/rave.js
incubator/rave/trunk/rave-portal/src/test/javascript/raveSpec.js
Modified: incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.jsp
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.jsp?rev=1147224&r1=1147223&r2=1147224&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.jsp (original)
+++ incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.jsp Fri Jul 15 16:38:26 2011
@@ -50,12 +50,10 @@
<!-- These are toolbar buttons -->
<div id="widget-${regionWidget.id}-toolbar" style="float:right;">
<button id="widget-${regionWidget.id}-max"
- class="widget-toolbar-btn"
- onclick="rave.toolbarMaximize(this,{myRegionWidgetId:${regionWidget.id},myRegionId:${region.id},myPageId:${defaultPage.id}})">
+ class="widget-toolbar-btn">
</button>
<button id="widget-${regionWidget.id}-remove"
- class="widget-toolbar-btn"
- onclick="rave.toolbarDelete(this,{myRegionWidgetId:${regionWidget.id}})">
+ class="widget-toolbar-btn">
</button>
</div>
</div>
@@ -90,11 +88,9 @@
$(function() {
rave.setContext("<spring:url value="/app/" />");
- rave.initGadgetUI(widgets);
rave.initProviders();
- //rave.initWidgets(rave.createWidgetMap(widgets));
rave.initWidgets(widgets);
- rave.initDragAndDrop();
+ rave.initUI();
});
</script>
</rave:rave_generic_page>
Modified: incubator/rave/trunk/rave-portal/src/main/webapp/script/rave.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal/src/main/webapp/script/rave.js?rev=1147224&r1=1147223&r2=1147224&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal/src/main/webapp/script/rave.js (original)
+++ incubator/rave/trunk/rave-portal/src/main/webapp/script/rave.js Fri Jul 15 16:38:26 2011
@@ -49,7 +49,8 @@ var rave = rave || (function() {
forcePlaceholderSize: true, // size the placeholder to the size of the gadget
start: dragStart,
stop : dragStop
- });
+ });
+ initGadgetUI();
}
function dragStart(event, ui) {
@@ -97,42 +98,68 @@ var rave = rave || (function() {
uiState.widget = null;
}
- return {
- init : init
+ /**
+ * Takes care of the UI part of the widget rendering. Depends heavily on the HTML structure
+ */
+ function initGadgetUI() {
+ $("div[id^='region-']").each(function(regionIndex) {
+ var regionElement = $(this);
+ var regionId = regionElement.attr("id");
+ regionId = regionId.substring("region-".length, regionId.lastIndexOf('-'));
+ regionElement.children("div[id^='widget-wrapper-']").each(function(wrapperIndex) {
+ var widgetElement = $(this);
+ var widgetId = widgetElement.attr("id").substr("widget-wrapper-".length);
+ styleGadgetButtons(widgetId);
+ });
+ });
}
- })();
+ function maximizeAction(args) {
+ alert("Maximize button not yet implemented");
+ }
+
+ function deleteAction(args) {
+ if (confirm("Are you sure you want to remove this gadget from your page")) {
+ rave.api.rpc.removeWidget({
+ regionWidgetId: args.data.id,
+ successCallback: function() {
+ $("#widget-wrapper-" + args.data.id).remove();
+ }
+ });
+ }
+ }
+
+ /**
+ * Applies styling to the several buttons in the widget / gadget toolbar
+ * @param widgetId identifier of the widget / gadget
+ */
+ function styleGadgetButtons(widgetId) {
+ $("#widget-" + widgetId + "-max").button({
+ text: false,
+ icons: {
+ primary: "ui-icon-arrow-4-diag"
+ }
+ }).click({id: widgetId}, maximizeAction);
+
+ $("#widget-" + widgetId + "-remove").button({
+ text: false,
+ icons: {
+ primary: "ui-icon-close"
+ }
+ }).click({id: widgetId},deleteAction);
+ }
+
+ return {
+ init : init
+ };
- /**
- * Group widget toolbar functions
- */
- var toolbar = (function() {
- function init(){
- }
- function maximizeAction(button,args) {
- alert("Maximize button not yet implemented");
- }
- function deleteAction(button,args) {
- if (confirm("Are you sure you want to remove this gadget from your page")) {
- rave.api.rpc.removeWidget({
- regionWidgetId: args.myRegionWidgetId,
- successCallback: function() {
- $("#widget-wrapper-" + args.myRegionWidgetId).remove();
- }
- });
- }
- }
- return {
- maximizeAction : maximizeAction,
- deleteAction : deleteAction
- }
- })();
+ })();
function initializeProviders() {
- //Current providers are rave.wookie and rave.opensocial.
- //Providers register themselves when loaded, so
- //JavaScript library importing order is important.
- //See home.jsp for example.
+ //Current providers are rave.wookie and rave.opensocial.
+ //Providers register themselves when loaded, so
+ //JavaScript library importing order is important.
+ //See home.jsp for example.
for (var key in providerMap) {
providerMap[key].init();
}
@@ -195,43 +222,6 @@ var rave = rave || (function() {
return context;
}
- /**
- * Takes care of the UI part of the widget rendering. Depends heavily on the HTML structure
- * @param widgets array of widgets
- */
- function initGadgetUI(widgets) {
- $("div[id^='region-']").each(function(regionIndex) {
- var regionElement = $(this);
- var regionId = regionElement.attr("id");
- regionId = regionId.substring("region-".length, regionId.lastIndexOf('-'));
- regionElement.children("div[id^='widget-wrapper-']").each(function(wrapperIndex) {
- var widgetElement = $(this);
- var widgetId = widgetElement.attr("id").substr("widget-wrapper-".length);
- styleGadgetButtons(widgetId);
- });
- });
- }
-
- /**
- * Applies styling to the several buttons in the widget / gadget toolbar
- * @param widgetId identifier of the widget / gadget
- */
- function styleGadgetButtons(widgetId) {
- $("#widget-" + widgetId + "-max").button({
- text: false,
- icons: {
- primary: "ui-icon-arrow-4-diag"
- }
- });
-
- $("#widget-" + widgetId + "-remove").button({
- text: false,
- icons: {
- primary: "ui-icon-close"
- }
- });
- }
-
/**
* Public API
@@ -255,7 +245,7 @@ var rave = rave || (function() {
/**
* Initialize Rave's drag and drop facilities
*/
- initDragAndDrop : ui.init,
+ initUI : ui.init,
/**
* Creates a map of widgets by their type
@@ -303,14 +293,6 @@ var rave = rave || (function() {
/**
* Gets the current context
*/
- getContext: getContext,
-
- initGadgetUI : initGadgetUI,
-
- /**
- * These are exposed toolbar actions, associated with widget toolbar buttons
- */
- toolbarMaximize : toolbar.maximizeAction,
- toolbarDelete : toolbar.deleteAction
+ getContext: getContext
}
})();
Modified: incubator/rave/trunk/rave-portal/src/test/javascript/raveSpec.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal/src/test/javascript/raveSpec.js?rev=1147224&r1=1147223&r2=1147224&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal/src/test/javascript/raveSpec.js (original)
+++ incubator/rave/trunk/rave-portal/src/test/javascript/raveSpec.js Fri Jul 15 16:38:26 2011
@@ -179,7 +179,7 @@ describe("Rave", function() {
});
- describe("initDragAndDrop", function() {
+ describe("initUI", function() {
function createMockJQuery() {
var sortableArgs = null;
$ = function(element) {
@@ -237,7 +237,7 @@ describe("Rave", function() {
it("Initializes jQuery sortable when init is called", function() {
createMockJQuery();
- rave.initDragAndDrop();
+ rave.initUI();
var sortableArgs = $().getSortableArgs();
expect(sortableArgs).toBeDefined();
expect(sortableArgs.selector).toEqual(".region");
@@ -249,7 +249,7 @@ describe("Rave", function() {
it("Posts when dragging is stopped", function() {
createMockJQuery();
- rave.initDragAndDrop();
+ rave.initUI();
var sortableArgs = $().getSortableArgs();
var mockItem = getMockItem();
$.post = function(url, data, handler) {
@@ -267,7 +267,7 @@ describe("Rave", function() {
});
it("displays the appropriate alert when invalid parameters are passed", function() {
createMockJQuery();
- rave.initDragAndDrop();
+ rave.initUI();
var sortableArgs = $().getSortableArgs();
var mockItem = getMockItem();
$.post = function(url, data, handler) {
@@ -285,7 +285,7 @@ describe("Rave", function() {
});
it("displays the appropriate alert when a server error occurs", function() {
createMockJQuery();
- rave.initDragAndDrop();
+ rave.initUI();
var sortableArgs = $().getSortableArgs();
var mockItem = getMockItem();
$.post = function(url, data, handler) {
@@ -333,4 +333,8 @@ describe("Rave", function() {
});
});
+
+ describe("Handle resize maximize event", function(){
+
+ });
});
\ No newline at end of file