[jira] Updated: (WICKET-1803) [IE7] Shrinked popup calendar when inside a table
[ https://issues.apache.org/jira/browse/WICKET-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Federico Fanton updated WICKET-1803: Attachment: testdatefield.tar.bz2 Quickstart > [IE7] Shrinked popup calendar when inside a table > - > > Key: WICKET-1803 > URL: https://issues.apache.org/jira/browse/WICKET-1803 > Project: Wicket > Issue Type: Bug > Components: wicket-datetime >Affects Versions: 1.3.4 > Environment: XPsp2, IE7 >Reporter: Federico Fanton >Priority: Minor > Attachments: testdatefield.tar.bz2 > > > I found that if I use a DateField inside a table, when I click the calendar > icon ("17") using IE7, the calendar pops up "shrinked" in width, even if > there's plenty of screen space.. When I close the popup and re-open it, it > shows up with the right width.. > Debugging, I think I found the "culprit" being a > YAHOO.util.Dom.setX(subject, targetPos[0]) > inside wicket-date.js (wicket-datetime) line 115, so _maybe_ it's YUI's > problem.. Anyway, maybe a simple > if(YAHOO.util.Dom.getX(subject) != targetPos[0]) > before that call would prevent the error. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (WICKET-1803) [IE7] Shrinked popup calendar when inside a table
[IE7] Shrinked popup calendar when inside a table - Key: WICKET-1803 URL: https://issues.apache.org/jira/browse/WICKET-1803 Project: Wicket Issue Type: Bug Components: wicket-datetime Affects Versions: 1.3.4 Environment: XPsp2, IE7 Reporter: Federico Fanton Priority: Minor I found that if I use a DateField inside a table, when I click the calendar icon ("17") using IE7, the calendar pops up "shrinked" in width, even if there's plenty of screen space.. When I close the popup and re-open it, it shows up with the right width.. Debugging, I think I found the "culprit" being a YAHOO.util.Dom.setX(subject, targetPos[0]) inside wicket-date.js (wicket-datetime) line 115, so _maybe_ it's YUI's problem.. Anyway, maybe a simple if(YAHOO.util.Dom.getX(subject) != targetPos[0]) before that call would prevent the error. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-1787) AjaxSubmitLink in Internet Explorer does not work with Wicket's automatically genreated id's
[ https://issues.apache.org/jira/browse/WICKET-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625639#action_12625639 ] Asgaut Mjølne commented on WICKET-1787: --- Okay, thanks. When is the release date for that fix? Currently our fix is to overwrite the Component class and remove the hexing. That worked. Could you tell me why you use the toHexString method please? Why not just convert the number over to a string? Is it just to avoid long numbers? Just curious. > AjaxSubmitLink in Internet Explorer does not work with Wicket's automatically > genreated id's > > > Key: WICKET-1787 > URL: https://issues.apache.org/jira/browse/WICKET-1787 > Project: Wicket > Issue Type: Bug >Reporter: Asgaut Mjølne >Assignee: Igor Vaynberg > Fix For: 1.3.5, 1.4-M4 > > > When using AjaxSubmitLink, and the markupid for a wicket element is not > explicitly set, AjaxSubmitLink will not work with internet explorer. When > clicking on your AjaxSubmitLink while running Internet Explorer, nothing will > happen. > Here is an example: > html file: > > java file: > ContextImage unlockImage = new ContextImage("img_unlock", new > Model("pathtoimage/unlockedgray.png")); > Since the id attribute is not set, wicket will now generate the output id > id="id". For some reason AjaxSubmitLink in Internet Explorer does not > understand this (Firefox does). Here is the HTML output: > id="id"> > The solution is to explicit add the markupid, like this: > unlockImage.setOutputMarkupId(true); > unlockImage.setMarkupId("mynewdistinctid"); > Would it not be better if wicket automatically generated another name for the > id attribute than "id"? Can this be done? Or is there a workaround I am not > aware of? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (WICKET-1787) AjaxSubmitLink in Internet Explorer does not work with Wicket's automatically genreated id's
[ https://issues.apache.org/jira/browse/WICKET-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Vaynberg resolved WICKET-1787. --- Resolution: Fixed Fix Version/s: 1.4-M4 1.3.5 in 1.3 branch and trunk the prefix is "id" not "i" so this should no longer happen > AjaxSubmitLink in Internet Explorer does not work with Wicket's automatically > genreated id's > > > Key: WICKET-1787 > URL: https://issues.apache.org/jira/browse/WICKET-1787 > Project: Wicket > Issue Type: Bug >Reporter: Asgaut Mjølne >Assignee: Igor Vaynberg > Fix For: 1.3.5, 1.4-M4 > > > When using AjaxSubmitLink, and the markupid for a wicket element is not > explicitly set, AjaxSubmitLink will not work with internet explorer. When > clicking on your AjaxSubmitLink while running Internet Explorer, nothing will > happen. > Here is an example: > html file: > > java file: > ContextImage unlockImage = new ContextImage("img_unlock", new > Model("pathtoimage/unlockedgray.png")); > Since the id attribute is not set, wicket will now generate the output id > id="id". For some reason AjaxSubmitLink in Internet Explorer does not > understand this (Firefox does). Here is the HTML output: > id="id"> > The solution is to explicit add the markupid, like this: > unlockImage.setOutputMarkupId(true); > unlockImage.setMarkupId("mynewdistinctid"); > Would it not be better if wicket automatically generated another name for the > id attribute than "id"? Can this be done? Or is there a workaround I am not > aware of? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-1782) Protection against CSRF (cross-site request forgery) attacks
[ https://issues.apache.org/jira/browse/WICKET-1782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625459#action_12625459 ] Igor Vaynberg commented on WICKET-1782: --- in the near future is all i can say. if you would like it to be released earlier start a thread on the mailing list > Protection against CSRF (cross-site request forgery) attacks > > > Key: WICKET-1782 > URL: https://issues.apache.org/jira/browse/WICKET-1782 > Project: Wicket > Issue Type: Improvement > Components: wicket >Affects Versions: 1.3.4 >Reporter: Gorka Vicente >Assignee: Igor Vaynberg > Fix For: 1.3.5, 1.4-M4 > > > Currently Wicket doesn't include a uniform and automatic solution against > CRSF vulnerability or OWASP-A5 vulnerability [1]. > In order to solve CSRF is necessary to avoid static HTML and create dynamic > or aleatory HTML per user. > Two posible solutions: > 1. Include a random token (aleatory parameter) to each url (link or form). > The name and the value of this parameter can be the same per user or change > per request (more secure but perform worse). It seems that can be implemented > creating other implementation of IRequestCodingStrategy interface. > 2. Encrypt all urls (links and form urls) using "Request Coding Strategy" > strategy offered currently by wicket (CryptedUrlWebRequestCodingStrategy). > Provide a security factory to use a different key per user or add some > aleatory data to encrypted data (for example user jessionid). (SunJceCrypt, > bundled in Wicket, is vulnerable to CSRF because obtained encrypted string is > the same for all the users) > [1] http://www.owasp.org/index.php/Top_10_2007-A5 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (WICKET-1802) Propertyresolver could be more informative
Propertyresolver could be more informative -- Key: WICKET-1802 URL: https://issues.apache.org/jira/browse/WICKET-1802 Project: Wicket Issue Type: Improvement Components: wicket Affects Versions: 1.4-M3 Reporter: Martin Makundi WicketMessage: no set method defined for value: true on object: ... at org.apache.wicket.util.lang.PropertyResolver$MethodGetAndSet.setValue(PropertyResolver.java:1107) In case there is a getter method defined, it would significantly help debugging to display the get method name in the exception. I suggest fixing the problem with: - " on object: " + object); + " on object: " + object + " while respective getMethod being " + getMethod.getName()); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (WICKET-1801) Make AbstractDefaultAjaxBehavior.findIndicatorId() protected
Make AbstractDefaultAjaxBehavior.findIndicatorId() protected Key: WICKET-1801 URL: https://issues.apache.org/jira/browse/WICKET-1801 Project: Wicket Issue Type: Improvement Components: wicket Reporter: John Krasnay Priority: Trivial When adding an AJAX behavior to a component it is sometimes awkward to have to implement IAjaxIndicatorAware since it can't be done with an anonymous inner class. It would be handy to simply override AbstractDefaultAjaxBehavior.findIndicatorId() and return the ID of the indicating component directly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r688754 - /wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js
Author: knopp Date: Mon Aug 25 08:21:50 2008 New Revision: 688754 URL: http://svn.apache.org/viewvc?rev=688754&view=rev Log: woot component replacement Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js?rev=688754&r1=688753&r2=688754&view=diff == --- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js (original) +++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js Mon Aug 25 08:21:50 2008 @@ -1745,6 +1745,8 @@ } } + var insertedElements = null; + // bind it with special notify function that invokes nodesAddedListeners var replaceFunction2 = bind(function(notify) { @@ -1752,6 +1754,7 @@ { if (L.isArray(elements)) { + insertedElements = elements; W.ajax.invokeNodesAddedListeners(elements, this); } notify(); @@ -1764,11 +1767,11 @@ // 3 - After replacement javascript if (after != null) { - var f = eval("(function(requestQueueItem, componentId, notify) {" + after + "})"); + var f = eval("(function(requestQueueItem, componentId, notify, insertedElements) {" + after + "})"); var f2 = bind(function(notify) { log.trace("RequestQueue", "Invoking after replacement javascript", f); - f(this, id, notify); + f(this, id, notify, insertedElements); }, this); steps.push(f2); }
svn commit: r688748 - in /wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket: ajax/wicket-ajax.js ajaxng/js/wicket-ajax-ng.js ajaxng/request/AjaxRequestTarget.java
Author: knopp Date: Mon Aug 25 08:09:37 2008 New Revision: 688748 URL: http://svn.apache.org/viewvc?rev=688748&view=rev Log: woot component replacement Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxRequestTarget.java Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=688748&r1=688747&r2=688748&view=diff == --- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js (original) +++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js Mon Aug 25 08:09:37 2008 @@ -1307,7 +1307,7 @@ var node = rootNode.childNodes[i]; if (node.tagName != null) { var name = node.tagName.toLowerCase(); - + // it is possible that a reference is surrounded by a http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js?rev=688748&r1=688747&r2=688748&view=diff == --- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js (original) +++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js Mon Aug 25 08:09:37 2008 @@ -1,3 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Wicket Ajax Support + * + * @author Matej Knopp + */ + (function() { YUI().use('*', function(Y) { @@ -395,7 +418,7 @@ } catch (ex) { - log.error("FunctionsExecutor", "Error execution function: ", f); + log.error("FunctionsExecutor", "Error execution function: ", f, ex); notify(); } }, this); @@ -623,7 +646,7 @@ * Also this method takes care of replacing table elements (tbody, tr, td, thead) * on browsers where it's not supported when using outerHTML (IE). */ - var replaceOuterHtml = function(element, text) + var _replaceOuterHtml = function(element, text) { if (UA.ie) { @@ -643,6 +666,31 @@ element.parentNode.replaceChild(fragment, element); } } + + var replaceOuterHtml = function(element, text) + { + if (element == null) + { + log.error("ReplaceOuterHtml", "Element can not be null. Markup: ", text); + return; + } + // remember next sibling (if any) + var nextSibling = element.nextSibling; + var id = element.id; + + // replace + _replaceOuterHtml(element, text); + + // get the list of inserted nodes + var res = new Array(); + var e = W.$(id); + while (e != nextSibling && e != null) + { + res.push(e); + e = e.nextSibling; + } + return res; + } W.replaceOuterHtml = replaceOuterHtml; @@ -1614,11 +1662,147 @@ }, +
svn commit: r688709 - in /wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket: ajaxng/ ajaxng/js/ ajaxng/request/ protocol/http/servlet/
Author: knopp Date: Mon Aug 25 05:50:23 2008 New Revision: 688709 URL: http://svn.apache.org/viewvc?rev=688709&view=rev Log: header contribution Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxRequestTarget.java wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/request/AjaxUrlCodingStrategy.java wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java?rev=688709&r1=688708&r2=688709&view=diff == --- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java (original) +++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java Mon Aug 25 05:50:23 2008 @@ -23,6 +23,7 @@ import org.apache.wicket.Component; import org.apache.wicket.Page; +import org.apache.wicket.Request; import org.apache.wicket.RequestCycle; import org.apache.wicket.ResourceReference; import org.apache.wicket.ajaxng.json.JSONArray; @@ -34,6 +35,7 @@ import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.html.IHeaderResponse; import org.apache.wicket.markup.html.resources.JavascriptResourceReference; +import org.apache.wicket.protocol.http.servlet.ServletWebRequest; /** * @author Matej Knopp @@ -128,11 +130,39 @@ config.append(AjaxUrlCodingStrategy.PARAM_BEHAVIOR_INDEX); config.append("';\n"); + config.append("gs.urlParamUrlDepth='"); + config.append(AjaxUrlCodingStrategy.PARAM_URL_DEPTH); + config.append("';\n"); + + config.append("gs.urlDepthValue="); + config.append(getUrlDepth()); + config.append(";\n"); + config.append("})();"); response.renderJavascript(config, WICKET_NS + "-Config"); } + private int getUrlDepth() + { + Request request = RequestCycle.get().getRequest(); + if (request instanceof ServletWebRequest) + { + ServletWebRequest swr = (ServletWebRequest)request; + // If we're coming in with an existing depth, use it. Otherwise, + // compute from the URL. This provides correct behavior for repeated + // AJAX requests: If we need to generate a URL within an AJAX + // request for another one, it needs to be at the same depth as the + // original AJAX request. + int urlDepth = swr.getRequestParameters().getUrlDepth(); + return urlDepth > -1 ? urlDepth : swr.getDepthRelativeToWicketHandler(); + } + else + { + return -1; + } + } + public void afterRender(Component component) { } Modified: wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js?rev=688709&r1=688708&r2=688709&view=diff == --- wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js (original) +++ wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js Mon Aug 25 05:50:23 2008 @@ -182,7 +182,7 @@ logger = FirebugLogger; } - var logConfig = { disableAll: false, trace: true, debug: true, info: true, error: true, "trace:GarbageCollector": false }; + var logConfig = { disableAll: false, trace: true, debug: true, info: true, error: true, "trace:GarbageCollector": false, "trace:Contribution":false }; W.Log = { @@ -395,7 +395,7 @@ } catch (ex) { - log.error("FunctionExecutor", "Error execution function: ", f); + log.error("FunctionsExecutor", "Error execution function: ", f);
[jira] Commented: (WICKET-1349) Wicket Ajax response generates a "^" character in the javascript code
[ https://issues.apache.org/jira/browse/WICKET-1349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625300#action_12625300 ] Erik van Oosten commented on WICKET-1349: - We are using AjaxRequestTarget while at the client side we use jquery only and therefore also have problems with the '^' in the raw stream. By replacing the AjaxRequestTarget#encode method with the following, you get proper XML escaping. /** * Encodes a string so it is safe to use inside CDATA blocks * * @param str * @return encoded string */ protected String encode(String str) { if (str == null) { return null; } return Strings.replaceAll(str, "]", "]]]>
[jira] Resolved: (WICKET-1800) After refreshing an AutoCompleteTextField with Ajax, onclik events on suggest-list stops functioning
[ https://issues.apache.org/jira/browse/WICKET-1800?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Clément Plantier resolved WICKET-1800. -- Resolution: Fixed Fix Version/s: 1.4-M3 The problem seems to be resolved in 1.4-m3. > After refreshing an AutoCompleteTextField with Ajax, onclik events on > suggest-list stops functioning > > > Key: WICKET-1800 > URL: https://issues.apache.org/jira/browse/WICKET-1800 > Project: Wicket > Issue Type: Bug > Components: wicket-extensions >Affects Versions: 1.4-M2 > Environment: Firefox 3, IE7 >Reporter: Clément Plantier >Priority: Minor > Fix For: 1.4-M3 > > > When I refresh an AutoCompleteTextField using an ajax request, I cannot click > anymore on the suggest list to select an element. Selecting with keyboard > works fine. > Tested with Firefox3, IE7. > Can reproduce using this code : > > MyAjaxLink > final AutoCompleteTextField myField = new AutoCompleteTextField( > "myField") { > private static final long serialVersionUID = 1L; > @Override > protected Iterator getChoices(String input) { > ArrayList arrayList = new ArrayList(); > arrayList.add("test"); > return arrayList.iterator(); > } > }; > myField.setOutputMarkupId(true); > add(myField); > final AjaxLink myLink = new AjaxLink("myLink") { > @Override > public void onClick(AjaxRequestTarget target) { > target.addComponent(myField); > } > }; > add(myLink); > This works fine before I click on the link, it is broken after. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (WICKET-1800) After refreshing an AutoCompleteTextField with Ajax, onclik events on suggest-list stops functioning
After refreshing an AutoCompleteTextField with Ajax, onclik events on suggest-list stops functioning Key: WICKET-1800 URL: https://issues.apache.org/jira/browse/WICKET-1800 Project: Wicket Issue Type: Bug Components: wicket-extensions Affects Versions: 1.4-M2 Environment: Firefox 3, IE7 Reporter: Clément Plantier Priority: Minor When I refresh an AutoCompleteTextField using an ajax request, I cannot click anymore on the suggest list to select an element. Selecting with keyboard works fine. Tested with Firefox3, IE7. Can reproduce using this code : MyAjaxLink final AutoCompleteTextField myField = new AutoCompleteTextField( "myField") { private static final long serialVersionUID = 1L; @Override protected Iterator getChoices(String input) { ArrayList arrayList = new ArrayList(); arrayList.add("test"); return arrayList.iterator(); } }; myField.setOutputMarkupId(true); add(myField); final AjaxLink myLink = new AjaxLink("myLink") { @Override public void onClick(AjaxRequestTarget target) { target.addComponent(myField); } }; add(myLink); This works fine before I click on the link, it is broken after. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.