Author: ivol37 at gmail.com
Date: Fri Nov 12 17:46:52 2010
New Revision: 423
Log:
[AMDATU-169] Moved delete widget hook from the dashboard plugin
Modified:
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/dashboard.js
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/gadgets_appdata.js
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/lib/jquery.dashboard.js
trunk/amdatu-opensocial/gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementServiceImpl.java
Modified:
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/dashboard.js
==============================================================================
--- trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/dashboard.js
(original)
+++ trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/dashboard.js
Fri Nov 12 17:46:52 2010
@@ -132,6 +132,10 @@
my.renderGadget(obj);
});
+ $('.widget').live('widgetDeleted',function(e, obj){
+ removeWidgetFromAppData(obj, dashboard);
+ });
+
dashboard.element.live('dashboardAddWidget',function(e, obj){
addWidgetToAppData(obj, startId++, dashboard);
});
Modified:
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/gadgets_appdata.js
==============================================================================
---
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/gadgets_appdata.js
(original)
+++
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/gadgets_appdata.js
Fri Nov 12 17:46:52 2010
@@ -56,13 +56,12 @@
}
// Removes a gadget from the AppData of the current user
-removeWidgetFromAppData = function(gadgetId, securetoken, dashboard) {
- var currentGadgets = retrieveCurrentWidgetsInAppData(securetoken);
- currentGadgets = currentGadgets.replace(gadgetId, "");
-
+removeWidgetFromAppData = function(obj, dashboard) {
+ var currentGadgets = retrieveCurrentWidgetsInAppData(obj.securetoken);
+ currentGadgets = currentGadgets.replace(obj.id, "");
var postdata = '{"registeredgadgets":"' + currentGadgets + '"}';
- var url = "/social/rest/appdata/@me/@self/?fields=registeredgadgets&st=" +
securetoken;
+ var url = "/social/rest/appdata/@me/@self/?fields=registeredgadgets&st=" +
obj.securetoken;
jQuery.ajax({
url: url,
type: "PUT",
@@ -71,7 +70,6 @@
dataType: "json",
async:false,
success: function(response) {
- dashboard.getWidget(gadgetId).remove();
},
error: function(request, textStatus, errorThrown) {
alert("Gadget could not be removed from user profile.");
Modified:
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/lib/jquery.dashboard.js
==============================================================================
---
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/lib/jquery.dashboard.js
(original)
+++
trunk/amdatu-opensocial/dashboard/src/main/resources/static/js/lib/jquery.dashboard.js
Fri Nov 12 17:46:52 2010
@@ -414,9 +414,7 @@
$('.' + opts.widgetClass).live('widgetdelete',function() {
if (confirm(opts.deleteConfirmMessage)) {
- // Remove the widget from the AppData of the Person in the OpenSocial
container
- var securetoken = dashboard.getWidget($(this).attr("id")).securetoken;
- removeWidgetFromAppData($(this).attr("id"), securetoken, dashboard);
+ dashboard.getWidget($(this).attr("id")).remove();
}
});
Modified:
trunk/amdatu-opensocial/gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementServiceImpl.java
==============================================================================
---
trunk/amdatu-opensocial/gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementServiceImpl.java
(original)
+++
trunk/amdatu-opensocial/gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/GadgetManagementServiceImpl.java
Fri Nov 12 17:46:52 2010
@@ -260,7 +260,12 @@
byte[] bytesValue = (byte[])
user.getProperties().get(OpenSocialConstants.APP_DATA);
if (bytesValue != null) {
Map<String, String> values = (Map<String, String>)
ConversionUtil.byteArrayToObject(bytesValue);
- gadgetUrls =
values.get(OpenSocialConstants.REGISTERED_GADGETS).trim().split(" ");
+ String gadgetValue =
values.get(OpenSocialConstants.REGISTERED_GADGETS).trim();
+ while (gadgetValue.indexOf(" ") != -1) {
+ // Replace double spaces with single space, occurs
when removing gadget URLs
+ gadgetValue = gadgetValue.replace(" ", " ");
+ }
+ gadgetUrls = gadgetValue.split(" ");
}
else {
Map<String, String> values = new HashMap<String, String>();