Author: [email protected]
Date: Tue Jan 24 15:38:18 2012
New Revision: 1989
Log:
[AMDATUOPENSOCIAL-190] Fixed the 'Add to dashboard' and 'Add to store' buttons.
Adding the gadget to the selected category is not possible without an backwards
incompatible API change, so didn't do that.
Modified:
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/dashboard.js
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/rest/GadgetManagementRESTServiceImpl.java
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
Modified:
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
==============================================================================
---
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
(original)
+++
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
Tue Jan 24 15:38:18 2012
@@ -1,13 +1,11 @@
<script type="text/html" id="categorytemplate">
- <li id="<%= id %>" class="selectcategory"><button><%= title %> (<%= amount
%>)</button></li>
+ <li id="<%= id %>" class="selectcategory"><button title="<%= title %>"
value="<%= amount %>"><%= title %> (<%= amount %>)</button></li>
<%
if(addAccessGranted == 'true') {
- document.getElementById("addtostorediv").style.visibility = "";
- document.getElementById("addtostorediv").style.display = "";
+ document.getElementById("addtostore").style.visibility = "";
} else {
- document.getElementById("addtostorediv").style.visibility = "hidden";
- document.getElementById("addtostorediv").style.display = "none";
+ document.getElementById("addtostore").style.visibility = "hidden";
}
%>
@@ -89,15 +87,18 @@
</ul>
<div class="panel-body">
- <b>Add custom gadget</b>
- <div class="new-button">
- URI:<input class="macro-hidden-uri" id="newgadgeturi" type="edit"
size="65">
- <input class="macro-button-add newgadget" id="newgadget" value="Add"
type="button" visibility="false"><br/>
- <div id="addtostorediv" style="display:none;visibility:hidden">
- <input type="checkbox" type="button" id="addtostore">Add to store
- </div>
- <br/><hr/><br/>
- </div>
+ <table width="100%">
+ <tr><th colspan="2" align="left"><strong>Add custom
gadget</strong></th></tr>
+ <tr><td>URL:</td><td width="100%"><input class="macro-hidden-uri"
id="newgadgeturi" type="edit" size="70" value="http://"/></td></tr>
+ <tr><td/>
+ <td>
+ <button class="newgadget" id="newgadget">Add to dashboard</button>
+ <button class="newgadget" id="addtostore"
style="visibility:hidden">Add to store</button>
+ </tr>
+ </tr>
+ </table>
+ <hr/><br/>
+
<ol id="category-all" class="widgets">
</ol>
</div>
Modified:
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/dashboard.js
==============================================================================
---
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/dashboard.js
(original)
+++
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/dashboard.js
Tue Jan 24 15:38:18 2012
@@ -202,11 +202,28 @@
$('.newgadget').live('click', function() {
var uri = document.getElementById('newgadgeturi').value;
var catId = $('.selectcategory.selected').attr("id");
- var addToStore = document.getElementById('addtostore').checked;
+ var addToStore = (this.id == "addtostore");
var widget;
if (addToStore) {
widget = addGadgetToRepository(uri, catId);
+
+ var li = $('.selectcategory[id=3rdparty]');
+ var button = $(li).find('button');
+
+ if (widget && widget != "undefined") {
+ // Update 3rd party category
+ var count = button.attr("value");
+ var title = button.attr("title");
+ var span = $(button).find('span');
+ var newcount = parseInt(count) + 1;
+ span[0].innerHTML = title + " (" + newcount + ")";
+ button.attr('value', newcount);
+ }
+
+ // Select 3rd party category
+ button.click();
+ return false;
} else {
widget = getGadget(uri).widget;
}
Modified:
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/rest/GadgetManagementRESTServiceImpl.java
==============================================================================
---
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/rest/GadgetManagementRESTServiceImpl.java
(original)
+++
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/rest/GadgetManagementRESTServiceImpl.java
Tue Jan 24 15:38:18 2012
@@ -293,7 +293,7 @@
if (uri == null || "".equals(uri) || categoryId == null ||
"".equals(categoryId)) {
return
Response.status(Response.Status.BAD_REQUEST).cacheControl(NO_CACHE_CONTROL).build();
}
- // All external gadgets are added to th e3rd party category
+ // All external gadgets are added to the 3rd party category
GadgetCategory category = GadgetCategory.THIRDPARTY;
boolean add = true;
@@ -308,6 +308,9 @@
// Create a new gadget definition
GadgetDefinition gadget = new GadgetDefinition(uri, category,
false);
getGadgetManagement().addGadget(gadget);
+ } else {
+ // Return 200, but without returning the widget
+ return
Response.status(Response.Status.OK).cacheControl(NO_CACHE_CONTROL).build();
}
// Now generate the JSON expression to return
Modified:
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
==============================================================================
---
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
(original)
+++
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
Tue Jan 24 15:38:18 2012
@@ -136,6 +136,9 @@
for (GadgetDefinition gadget : m_gadgets) {
if (gadget.getUrl().equalsIgnoreCase(uri)) {
return gadget;
+ } else if (uri.endsWith(gadget.getUrl())) {
+ // This is a relative URL
+ return gadget;
}
}
return null;
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits