rave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marlon Pierce <mpie...@cs.indiana.edu>
Subject Re: svn commit: r1132706 - in /incubator/rave/trunk/rave-portal/src/main/webapp: WEB-INF/views/home.jsp script/rave.js
Date Mon, 06 Jun 2011 18:34:33 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sorry, computer crash.  Sure--go ahead or describe the solution and I'll do it.  Deleting
the RegionWidget from Region's list was the only way I saw to do the delete.


Marlon


On 6/6/11 1:55 PM, Franklin, Matthew B. wrote:
> Ahh.  That makes sense.  I think there might be a way to simplify the
> server side delete operation so that this wouldn't happen.  Specifically,
> removing the need to pass the regionId and just use the regionWidgetId to
> delete the widget.
> 
> -Matt
> 
> On 6/6/11 1:52 PM, "Marlon Pierce" <mpierce@cs.indiana.edu> wrote:
> 
> Trying to delete a gadget that you have moved on the page throws this
> error:Rave attempted to update the server with your recent changes,  but
> the changes were rejected by the server as invalid.
> 
> On 6/6/11 1:46 PM, Franklin, Matthew B. wrote:
>>>>
>>>> On 6/6/11 1:43 PM, "Marlon Pierce" <mpierce@cs.indiana.edu> wrote:
>>>>
>>>> I cleaned it up a bit already, but let me look at the init.  There is
>>>> still a bug associated with deleting gadgets that have been moved.
>>>>
>>>>> Moved or deleted? Can you elaborate on the bug a bit?
>>>>
>>>>
>>>>
>>>>
>>>> Marlon
>>>>
>>>>
>>>> On 6/6/11 1:36 PM, Franklin, Matthew B. wrote:
>>>>>>> On 6/6/11 1:10 PM, "mpierce@apache.org" <mpierce@apache.org>
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.j
>>>>>>>> sp
>>>>>>>>    incubator/rave/trunk/rave-portal/src/main/webapp/script/rave.js
>>>>>>>>
>>>>>>>> Modified: 
>>>>>>>>
>>>>>>>> incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.j
>>>>>>>> sp
>>>>>>>> URL: 
>>>>>>>>
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal/src/mai
>>>>>>>> n/w
>>>>>>>> eb
>>>>>>>>
>>>>>>>> app/WEB-INF/views/home.jsp?rev=1132706&r1=1132705&r2=1132706&view=dif
>>>>>>>> f
>>>>>>>>
>>>>>>>>
>>>>>>>> =====================================================================
>>>>>>>> ===
>>>>>>>> ==
>>>>>>>> ====
>>>>>>>> --- 
>>>>>>>>
>>>>>>>> incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.j
>>>>>>>> sp
>>>>>>>> (original)
>>>>>>>> +++ 
>>>>>>>>
>>>>>>>> incubator/rave/trunk/rave-portal/src/main/webapp/WEB-INF/views/home.j
>>>>>>>> sp
>>>>>>>> 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}</sp
>>>>>>>> an>
>>>>>>>>             
>>>>>>>> -            <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},${de
>>>>>>>> fau
>>>>>>>> lt
>>>>>>>> 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/mai
>>>>>>>> n/w
>>>>>>>> eb
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJN7R24AAoJEEfVXEODPFIDH2oH/0nB6T0QNlDBjeUzs4WLM+pu
khbPiuBmkvs+DP8wRubJVLbebIlVVoL1egIUamz2tmyjItGkTfs7PQ8GtxxB96QP
twOPF7l4irX64yaPYanYiInn70bIm5RPJsXeFmursjCI3dyEqxHHAWGop+r8m/Iy
KVPDpeJtHr7hMkkPiShZe0lJDKIZzHlFwq+fArgVPIXK9mcgna1E00zq2e0F1TgM
oj5tuYvwSXDYLEaPl7X50PWQMqOQ7yX5KR4A8H0o9NVDMkvn6mXw+CSHp3lzAKzj
ubqI+mCwzoXdQclBaJafss+7loK8zbeyy+EAkFHg1SyfIzynWcZJcaDWlssebyw=
=08Wn
-----END PGP SIGNATURE-----

Mime
View raw message