Updated Branches: refs/heads/master 8c21ccf8c -> 835223065
WICKET-5130 removed fix for select z-index bug in IE < 7 Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/83522306 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/83522306 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/83522306 Branch: refs/heads/master Commit: 8352230656fedb01c5a3569f684ebfd4d72c37bd Parents: 8c21ccf Author: svenmeier <[email protected]> Authored: Wed Jun 26 10:13:05 2013 +0200 Committer: svenmeier <[email protected]> Committed: Wed Jun 26 10:13:05 2013 +0200 ---------------------------------------------------------------------- .../AbstractAutoCompleteBehavior.java | 4 +- .../html/autocomplete/AutoCompleteSettings.java | 40 +++------------ .../html/autocomplete/wicket-autocomplete.js | 53 +------------------- 3 files changed, 9 insertions(+), 88 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/83522306/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java index 9105f73..a9360a7 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java @@ -150,9 +150,9 @@ public abstract class AbstractAutoCompleteBehavior extends AbstractDefaultAjaxBe sb.append(",maxHeight: ").append(settings.getMaxHeightInPx()); sb.append(",adjustInputWidth: ").append(settings.isAdjustInputWidth()); sb.append(",useSmartPositioning: ").append(settings.getUseSmartPositioning()); - sb.append(",useHideShowCoveredIEFix: ").append(settings.getUseHideShowCoveredIEFix()); sb.append(",showListOnEmptyInput: ").append(settings.getShowListOnEmptyInput()); - sb.append(",ignoreBordersWhenPositioning: ").append(settings.getIgnoreBordersWhenPositioning()); + sb.append(",ignoreBordersWhenPositioning: ").append( + settings.getIgnoreBordersWhenPositioning()); sb.append(",showListOnFocusGain: ").append(settings.getShowListOnFocusGain()); sb.append(",throttleDelay: ").append(settings.getThrottleDelay()); sb.append(",parameterName: '").append(settings.getParameterName()).append('\''); http://git-wip-us.apache.org/repos/asf/wicket/blob/83522306/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java index 8f784ad..0bd6aa8 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java @@ -59,8 +59,6 @@ public final class AutoCompleteSettings implements IClusterable private boolean ignoreBordersWhenPositioning = true; - private boolean useHideShowCoveredIEFix = true; - private String cssClassName = null; private boolean adjustInputWidth = true; @@ -160,7 +158,7 @@ public final class AutoCompleteSettings implements IClusterable /** * Indicates whether the popup positioning will take into account the borders of the input * element and its ancestors. - * + * * @return true if borders are ignored, false otherwise. */ public boolean getIgnoreBordersWhenPositioning() @@ -172,12 +170,13 @@ public final class AutoCompleteSettings implements IClusterable * Sets whether the popup positioning will take into account the borders of the input element * and its ancestors (by including the <code>clientLeft</code> and <code>clientTop</code> DOM * properties in the computation). - * + * * @param ignoreBordersWhenPositioning * the flag * @return this {@link AutoCompleteSettings}. */ - public AutoCompleteSettings setIgnoreBordersWhenPositioning(final boolean ignoreBordersWhenPositioning) + public AutoCompleteSettings setIgnoreBordersWhenPositioning( + final boolean ignoreBordersWhenPositioning) { this.ignoreBordersWhenPositioning = ignoreBordersWhenPositioning; return this; @@ -195,18 +194,6 @@ public final class AutoCompleteSettings implements IClusterable } /** - * Indicates whether in case of IE (and Opera), "select" "iframe" and "applet" tags should be - * hidden if covered by popup. (as they might appear on top)<br> - * By default this is true (before this flag was added). - * - * @return true if the fix/workaround should be used for IE and Opera, false otherwise. - */ - public boolean getUseHideShowCoveredIEFix() - { - return useHideShowCoveredIEFix; - } - - /** * Indicates whether the autocomplete list will be shown if the input is empty. * * @return true if the autocomlete list will be shown if the input string is empty, false @@ -351,25 +338,10 @@ public final class AutoCompleteSettings implements IClusterable } /** - * Indicates whether in case of IE (and Opera), "select" "iframe" and "applet" tags should be - * hidden if covered by popup. (as they might appear on top)<br> - * By default this is true (before this flag was added). - * - * @param useHideShowCoveredIEFix - * the flag - * @return this {@link AutoCompleteSettings}. - */ - public AutoCompleteSettings setUseHideShowCoveredIEFix(final boolean useHideShowCoveredIEFix) - { - this.useHideShowCoveredIEFix = useHideShowCoveredIEFix; - return this; - } - - /** * Sets the name of the request parameter that will bring the value of the user input - * + * * @param parameterName - * the name of the request parameter that will bring the value of the user input + * the name of the request parameter that will bring the value of the user input * @return this {@link AutoCompleteSettings} */ public AutoCompleteSettings setParameterName(final String parameterName) http://git-wip-us.apache.org/repos/asf/wicket/blob/83522306/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js index 3301a19..ac0f01a 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js @@ -67,11 +67,6 @@ var scrollbarSize = 0; var selChSinceLastRender = false; - // this are the last visible and non-temporary bounds of the pop-up; the may change position and size several times when showing/updating choices and so on - // before it reaches the bounds that will be visible by the user (this is because of height/width settings limits or because it tries to compute preferred size); - // used for IE fix with hideShowCovered() - to be able to call it when bounds change while popup is visible. - var lastStablePopupBounds = [0, 0, 0, 0]; - // holds a throttler, for not sending many requests if the user types // too quickly. var localThrottler = new Wicket.Throttler(true); @@ -407,10 +402,7 @@ calculateAndSetPopupBounds(input, container); - if (visible === 0) { - visible = 1; - hideShowCovered(true, lastStablePopupBounds[0], lastStablePopupBounds[1], lastStablePopupBounds[2], lastStablePopupBounds[3]); - } + visible = 1; } function initializeUsefulDimensions(input, container) { @@ -437,7 +429,6 @@ var container = getAutocompleteContainer(); if (container) { - hideShowCovered(false, lastStablePopupBounds[0], lastStablePopupBounds[1], lastStablePopupBounds[2], lastStablePopupBounds[3]); container.hide(); if (!cfg.adjustInputWidth && container.style.width !== "auto") { container.style.width = "auto"; // let browser auto-set width again next time it is shown @@ -554,17 +545,6 @@ } popup.style.left=leftPosition+'px'; popup.style.top=topPosition+'px'; - - if (visible === 1 && - (lastStablePopupBounds[0] !== popup.offsetLeft || - lastStablePopupBounds[1] !== popup.offsetTop || - lastStablePopupBounds[2] !== popup.offsetWidth || - lastStablePopupBounds[3] !== popup.offsetHeight)) { - hideShowCovered(false, lastStablePopupBounds[0], lastStablePopupBounds[1], lastStablePopupBounds[2], lastStablePopupBounds[3]); // show previously hidden - hideShowCovered(true, popup.offsetLeft, popup.offsetTop, popup.offsetWidth, popup.offsetHeight); // hide ones under new bounds - } - - lastStablePopupBounds = [popup.offsetLeft, popup.offsetTop, popup.offsetWidth, popup.offsetHeight]; } function getPosition(obj) { @@ -828,37 +808,6 @@ return index; } - function hideShowCovered(popupVisible, acLeftX, acTopY, acWidth, acHeight) { - if (!cfg.useHideShowCoveredIEFix || (!/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent))) { - return; - } - - var hideTags=["select","iframe","applet"]; - var acRightX = acLeftX + acWidth; - var acBottomY = acTopY + acHeight; - - for (var j=0;j<hideTags.length;j++) { - var tagsFound=document.getElementsByTagName(hideTags[j]); - for (var i=0; i<tagsFound.length; i++){ - var tag=tagsFound[i]; - var p=getPosition(tag); // maybe determine only visible area of tag somehow? as it could be in a small scrolled container... - var leftX=p[0]; - var rightX=leftX+tag.offsetWidth; - var topY=p[1]; - var bottomY=topY+tag.offsetHeight; - - if (!tag.wicket_element_visibility) { - tag.wicket_element_visibility=isVisible(tag); - } - if (!popupVisible || (leftX>acRightX) || (rightX<acLeftX) || (topY>acBottomY) || (bottomY<acTopY)) { - tag.style.visibility = tag.wicket_element_visibility; - } else { - tag.style.visibility = "hidden"; - } - } - } - } - initialize(); }; })(); \ No newline at end of file
