You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2010/10/15 07:20:23 UTC
svn commit: r1022823 - in
/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal:
ModalWindow.java res/modal.js
Author: ivaynberg
Date: Fri Oct 15 05:20:23 2010
New Revision: 1022823
URL: http://svn.apache.org/viewvc?rev=1022823&view=rev
Log:
Issue: WICKET-3080
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java?rev=1022823&r1=1022822&r2=1022823&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java Fri Oct 15 05:20:23 2010
@@ -150,6 +150,7 @@ public class ModalWindow extends Panel
private String cookieName;
private IModel<String> title = null;
private MaskType maskType = MaskType.SEMI_TRANSPARENT;
+ private boolean autoSize = false;
private PageCreator pageCreator = null;
private CloseButtonCallback closeButtonCallback = null;
@@ -1051,6 +1052,9 @@ public class ModalWindow extends Panel
{
buffer.append("settings.mask=\"semi-transparent\";\n");
}
+
+ appendAssignment(buffer, "settings.autoSize", autoSize);
+
// set true if we set a windowclosedcallback
boolean haveCloseCallback = false;
@@ -1151,4 +1155,21 @@ public class ModalWindow extends Panel
title.detach();
}
}
+
+ public ModalWindow setAutoSize(boolean autoSize)
+ {
+ this.autoSize = autoSize;
+ return this;
+ }
+
+ /**
+ * Returns whether the window is resizable.
+ *
+ * @return True if the window is resizable, false otherwise
+ */
+ public boolean isAutoSize()
+ {
+ return autoSize;
+ }
+
}
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js?rev=1022823&r1=1022822&r2=1022823&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js Fri Oct 15 05:20:23 2010
@@ -682,6 +682,10 @@ Wicket.Window.prototype = {
if (this.settings.height != null)
this.content.style.height = this.settings.height + (this.settings.resizable ? "px" : this.settings.heightUnit);
+
+ //if 'auto' flag was set to true call autoresize function
+ if (this.settings.autoSize)
+ this.autoSizeWindow();
// center the window
this.center();
@@ -1105,6 +1109,28 @@ Wicket.Window.prototype = {
this.resizing();
return this.res;
+ },
+
+ /**
+ * Resize windows in order to fit content's width and heigth
+ */
+ autoSizeWindow: function(){
+ var targetWindow = this.window;
+ var targetContent = this.content;
+
+ targetContent.style.height = this.settings.minHeight +'px';
+ targetWindow.style.width = this.settings.minWidth +'px';
+
+ targetContent.style.overflow = 'hidden';
+
+ var newHeight = targetContent.scrollHeight +'px';
+ var newWidth = (targetContent.scrollWidth + targetWindow.clientWidth - targetContent.clientWidth) + 'px';
+
+ targetContent.style.height = newHeight;
+
+ targetWindow.style.width = newWidth;
+
+ targetContent.style.overflow = 'auto';
}
}