-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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" <[email protected]> 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, "[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/w
>>>>> eb
>>>>> 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},${defau
>>>>> 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/main/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/

iQEcBAEBAgAGBQJN7RPQAAoJEEfVXEODPFIDaP4IAJeKwT0vBXiYKMYwD461ItqN
D3Jzopd4H4/VTjmnJUbvwYhWTK6WmFth3vP2/kI2E14K+r6rMS426jKnYsFGwISy
zrYTp2zx3499NV8+CObErSQ2RY+kPyIujT++KzjeO6Ca0UJe6eNqCDKwMhXj2Vtf
ttUpT4OOKUqhq0V7HrS3P5WOPLrPax5EZG6G+mec3fLc0tSwNk3CBgxGn5Pwzzgr
BYQpBP9VlximU7VJL6kYi62AGEmynnh7JMDzUnE7AP2NeOw6oms2q0LFmo/2qoJA
jsnLOWiCtW+q/q4tFKcTMo1LEm9SvXJNZClIdpimelTj3kw5k8JK+HzwyyeFIag=
=hFjv
-----END PGP SIGNATURE-----

Reply via email to