ICEfaces
  1. ICEfaces
  2. ICE-8389

ace:dateTimeEntry - can't clear out initial value with using singleSubmit

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.0.0.GA, 3.1
    • Fix Version/s: EE-3.0.0.GA_P01, 3.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All
    • Workaround Exists:
      Yes
    • Workaround Description:
      Add an ace:ajax tag to the component. The Ajax Submit Showcase demo does not have this issue.

      Description

      When using the ace:dateTimeEntry component as renderAsPopup=true and singleSubmit, its not possible to clear the value in the input field.

      This can be reproduced in the Showcase ace:dateTimEntry - Popup demo and the attached test case.

      Steps:
       - Highlight the value in the dateTimeEntry input field and delete the contents.
       - Focus away from the input field, the value is displayed again.

        Activity

        Hide
        yip.ng added a comment -

        Yet another problem with <icecore:singleSubmit/>. It is submitting the wrong id as the component id, and therefore the decode() is totally skipped. See screenshot-01.png. Compare this with the submit by <ace:ajax/>, with correct component id. See screenshot-02.png.

        See also ICE-8202 for another problem with <icecore:singleSubmit/>.

        Show
        yip.ng added a comment - Yet another problem with <icecore:singleSubmit/>. It is submitting the wrong id as the component id, and therefore the decode() is totally skipped. See screenshot-01.png. Compare this with the submit by <ace:ajax/>, with correct component id. See screenshot-02.png. See also ICE-8202 for another problem with <icecore:singleSubmit/>.
        Hide
        Ken Fyten added a comment -

        Assign to Ted for singleSubmit review.

        Show
        Ken Fyten added a comment - Assign to Ted for singleSubmit review.
        Hide
        Ken Fyten added a comment -

        Looks like we'll need to add ice core:singleSubmit support to this component. Reference the 2.0 version of the component which had a singleSubmit tag, etc.

        Show
        Ken Fyten added a comment - Looks like we'll need to add ice core:singleSubmit support to this component. Reference the 2.0 version of the component which had a singleSubmit tag, etc.
        Hide
        yip.ng added a comment -

        Done based on code in ICEfaces 2.

        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js
        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntry.java
        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryMeta.java
        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryRenderer.java
        Completed: At revision: 30378

        Show
        yip.ng added a comment - Done based on code in ICEfaces 2. Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntry.java Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryMeta.java Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryRenderer.java Completed: At revision: 30378
        Hide
        yip.ng added a comment - - edited

        From Mark:

        • Need to override singleSubmit with ajax event if both specified.
        • Need to write cross-browser JS utility (without Prototype or jQuery) to trap events expected by core singleSubmit and cancel bubble.
        Show
        yip.ng added a comment - - edited From Mark: Need to override singleSubmit with ajax event if both specified. Need to write cross-browser JS utility (without Prototype or jQuery) to trap events expected by core singleSubmit and cancel bubble.
        Hide
        yip.ng added a comment - - edited

        singleSubmit overridden by <ace:ajax> if both present.

        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js
        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryMeta.java
        Completed: At revision: 30386

        Show
        yip.ng added a comment - - edited singleSubmit overridden by <ace:ajax> if both present. Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryMeta.java Completed: At revision: 30386
        Hide
        yip.ng added a comment - - edited

        The single submit listeners are capture listeners in non-IE browsers, not bubble listeners. See screenshot-03 and -04.

        This complicates things a lot. Need to work with both capture and bubble event mechanisms. Need to locate the parent of the single submit node. Need to check to make sure event source is descendant of component. Need to do all these in cross-browser way without using JS libraries, ......

        Managed to intercept the event at the parent node of the single submit node (the form in this case) and stop the propagation, but it's still no good because then the component won't get the event either.

        Show
        yip.ng added a comment - - edited The single submit listeners are capture listeners in non-IE browsers, not bubble listeners. See screenshot-03 and -04. This complicates things a lot. Need to work with both capture and bubble event mechanisms. Need to locate the parent of the single submit node. Need to check to make sure event source is descendant of component. Need to do all these in cross-browser way without using JS libraries, ...... Managed to intercept the event at the parent node of the single submit node (the form in this case) and stop the propagation, but it's still no good because then the component won't get the event either.
        Hide
        yip.ng added a comment -

        As per decision in meeting, changed to use bubble listeners instead of capture listeners for single submit, and use bubble listeners at root of component to cancel bubble.

        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js
        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryRenderer.java
        Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\core\src\main\javascript\application.js
        Completed: At revision: 30483

        Show
        yip.ng added a comment - As per decision in meeting, changed to use bubble listeners instead of capture listeners for single submit, and use bubble listeners at root of component to cancel bubble. Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryRenderer.java Modified: C:\svn\ossrepo\icefaces3\trunk\icefaces\core\src\main\javascript\application.js Completed: At revision: 30483
        Hide
        yip.ng added a comment -

        Tested: IE 7,8,9; FF 14; with and without singleSubmit; with and without ajax events.

        Show
        yip.ng added a comment - Tested: IE 7,8,9; FF 14; with and without singleSubmit; with and without ajax events.
        Hide
        Ken Fyten added a comment -

        Let's add this fix to the icefaces-3.0.x-maintenance branch.

        Show
        Ken Fyten added a comment - Let's add this fix to the icefaces-3.0.x-maintenance branch.
        Hide
        yip.ng added a comment -

        Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js
        Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntry.java
        Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryMeta.java
        Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryRenderer.java
        Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\core\src\main\javascript\application.js
        Completed: At revision: 30546

        Show
        yip.ng added a comment - Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\resources\icefaces.ace\datetimeentry\datetimeentry.js Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntry.java Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryMeta.java Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\ace\component\src\org\icefaces\ace\component\datetimeentry\DateTimeEntryRenderer.java Modified: C:\svn\ossrepo\icefaces3\branches\icefaces-3.0.x-maintenance\icefaces\core\src\main\javascript\application.js Completed: At revision: 30546

          People

          • Assignee:
            yip.ng
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: