You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ja...@apache.org on 2012/03/27 20:24:08 UTC
svn commit: r1305939 -
/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js
Author: jasha
Date: Tue Mar 27 18:24:07 2012
New Revision: 1305939
URL: http://svn.apache.org/viewvc?rev=1305939&view=rev
Log:
RAVE-526 Support height attribute of open social gadget definition. Patch provided by Dennis van der Laan (University of Groningen).
Modified:
rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js
Modified: rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js?rev=1305939&r1=1305938&r2=1305939&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/script/rave_opensocial.js Tue Mar 27 18:24:07 2012
@@ -173,25 +173,27 @@ rave.opensocial = rave.opensocial || (fu
*/
function renderGadgetView(view, gadget) {
var renderParams = {};
- var size = getSizeFromElement(gadget.regionWidgetId, view);
+ var size = calculateSize(view, gadget);
+
renderParams[osapi.container.RenderParam.VIEW] = view;
- //
- // If size.width is passed to the WIDTH param this causes odd behaviour
- // in Firefox and Opera. By using "100%" instead the gadget fills the
- // wrapper width even after maximizing/minimizing or changes in the region
- // width caused by other widgets being moved or added
- //
- // renderParams[osapi.container.RenderParam.WIDTH] = size.width;
- //
- renderParams[osapi.container.RenderParam.WIDTH] = "100%";
+ renderParams[osapi.container.RenderParam.WIDTH] = size.width;
renderParams[osapi.container.RenderParam.HEIGHT] = size.height;
renderParams[osapi.container.RenderParam.USER_PREFS] = getCompleteUserPrefSet(gadget.userPrefs, gadget.metadata.userPrefs);
container.navigateGadget(gadget.site, gadget.widgetUrl, {}, renderParams);
}
- function getSizeFromElement(id, view) {
+ function calculateSize(view, gadget) {
+ var id = gadget.regionWidgetId;
var elem = document.getElementById("widget-" + id + "-wrapper");
- return {width: elem.clientWidth - OFFSET, height: view == rave.opensocial.VIEW_NAMES.CANVAS ? elem.clientHeight : MIN_HEIGHT};
+
+ // determine the height of the gadget's iframe
+ var height = MIN_HEIGHT;
+ if (view == rave.opensocial.VIEW_NAMES.CANVAS) {
+ height = elem.clientHeight;
+ } else if (gadget.metadata.modulePrefs && gadget.metadata.modulePrefs.height) {
+ height = gadget.metadata.modulePrefs.height;
+ }
+ return {width: "100%", height: height};
}
/**