On 6/6/11 1:10 PM, "[email protected]" <[email protected]> wrote:
>Author: mpierce >Date: Mon Jun 6 17:10:32 2011 >New Revision: 1132706 > >URL: http://svn.apache.org/viewvc?rev=1132706&view=rev >Log: >Reorganizing the widget deletion code (RAVE-41) so that most of the >action takes place in rave.js rather than home.jsp. Probably this needs >a better design pattern applied to it. Thanks for taking that on. I haven't had a ton of time to look over the delete code yet, but from what I have seen, it looks like there should be no reason that we can't do what is left in the home.jsp in the ui.init function of rave.js (init the buttons for all widgets with one expression). This would allow us to move the script includes for jquery, etc back to the bottom of the page, which is where we really want them. I can go ahead and make this change unless Marlon or others who have been working on it want to give it a go. -Matt > > >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 > >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/web >app/WEB-INF/views/home.jsp?rev=1132706&r1=1132705&r2=1132706&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 >Mon Jun 6 17:10:32 2011 >@@ -64,41 +64,35 @@ > <div class="widget-title-bar" > > <span >id="widget-${regionWidget.id}-title">${regionWidget.widget.title}</span> > >- <span id="widget-${regionWidget.id}-toolbar" >style="float:right;"> >- <button id="widget-${regionWidget.id}-max" >class="widget-toolbar-btn"></button> >- <button >id="widget-${regionWidget.id}-remove" >class="widget-toolbar-btn"></button> >- <script> >- $("#widget-${regionWidget.id}-max").button({ >- text: false, >- icons: { >- primary: "ui-icon-arrow-4-diag" >- } >- }).click(function() { >- alert("not implemented yet."); >- }); >- >$("#widget-${regionWidget.id}-remove").button({ >- text: false, >- icons: { >- primary: "ui-icon-close" >- } >- }).unbind("click").click(function() >{ >- alert("remove gadget"); >- rave.api.rpc.removeWidget({ >- regionWidgetId: >"${regionWidget.id}", >- pageId: "${defaultPage.id}", >- region: { >- id : >rave.getGadgetRegion("${regionWidget.id}") >- }, >- succCB: function() { >- >$("#widget-wrapper-${regionWidget.id}").remove(); >- } >- }); >- }); >- >rave.mapGadgetToRegion("${regionWidget.id}", "${region.id}"); >- </script> >- </span> >- >- </div> >+ <!-- These are toolbar buttons --> >+ <span id="widget-${regionWidget.id}-toolbar" >style="float:right;"> >+ <button id="widget-${regionWidget.id}-max" >+ >class="widget-toolbar-btn" >+ >onclick="rave.toolbarMaximize(this)"></button> >+ <button id="widget-${regionWidget.id}-remove" >+ >class="widget-toolbar-btn" >+ >onclick="rave.toolbarDelete(this,${regionWidget.id},${region.id},${default >Page.id})"> >+ </button> >+ <script> >+ //This decorates the toolbar buttons. >As currently written, >+ //it needs to be in the forEach loop. >+ >$("#widget-${regionWidget.id}-max").button({ >+ text: false, >+ icons: { >+ primary: "ui-icon-arrow-4-diag" >+ } >+ }); >+ >+ >$("#widget-${regionWidget.id}-remove").button({ >+ text: false, >+ icons: { >+ primary: "ui-icon-close" >+ } >+ }); >+ </script> >+ >+ </span> >+ </div> > <div class="widget" id="widget-${regionWidget.id}-body"> > <!-- > Among other things, the render-widget > tag will populate the >widgets[] array. > >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/web >app/script/rave.js?rev=1132706&r1=1132705&r2=1132706&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 Mon >Jun 6 17:10:32 2011 >@@ -105,6 +105,36 @@ var rave = rave || (function() { > > })(); > >+ /** >+ * Group widget toolbar functions >+ */ >+ var toolbar = (function() { >+ function init(){ >+ } >+ function maximizeAction(button){ >+ alert("Maximize: "+button.id+" not yet >implemented."); >+ >+ }; >+ function >deleteAction(button,myRegionWidgetId,myRegionId,myPageId){ >+// alert("Delete:"+button.id+" >"+myRegionWidgetId+" "+myRegionId+" >"+myPageId); >+ rave.api.rpc.removeWidget({ >+ regionWidgetId: myRegionWidgetId, >+ pageId : myPageId, >+ region: { >+ id : myRegionId >+ }, >+ succCB: function() { >+ >$("#widget-wrapper-"+myRegionWidgetId).remove(); >+ } >+ }); >+ rave.mapGadgetToRegion(myRegionWidgetId, >myRegionId); >+ }; >+ return { >+ maximizeAction : maximizeAction, >+ deleteAction : deleteAction >+ } >+ })(); >+ > function initializeProviders() { > //Current providers are rave.wookie and rave.opensocial. > //Providers register themselves when loaded, so >@@ -161,14 +191,6 @@ var rave = rave || (function() { > } > > /** >- * Deletes the gadget/widget from the display. >- * TODO: must be implemented. >- */ >- function deleteWidgetFromPage() { >- return null; >- } >- >- /** > * Map a widget to the region where it is located. > * > * @param widgetId: id of the widget (not DOM id) >@@ -248,10 +270,6 @@ var rave = rave || (function() { > */ > getContext: getContext, > >- /** >- * Remove a selected gadget from the page >- */ >- deleteGadget : deleteWidgetFromPage, > > /** > * Change or delete gadget to region map entry. >@@ -261,6 +279,12 @@ var rave = rave || (function() { > /** > * Get the region where a widget/gadget belongs to. > */ >- getGadgetRegion : getGadgetRegion >+ getGadgetRegion : getGadgetRegion, >+ >+ /** >+ * These are exposed toolbar actions, associated with >widget toolbar >buttons >+ */ >+ toolbarMaximize : toolbar.maximizeAction, >+ toolbarDelete : toolbar.deleteAction > } > })(); >\ No newline at end of file > >
