<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">I agree that all components have some
      event that semantically fits the idea of component state changed.<br>
      <br>
      It's just not evident what event it is straight away.<br>
      <br>
      <br>
      I suggest we investigate what is behavior of standard JSF
      components and align with whatever they do. As user pointed out in
      RF-12360, it doesn't have to be aligned with either HTML standards
      or even JSF docs themselves.<br>
      <br>
      ~ Lukas<br>
      <br>
      <br>
      On 10/22/2013 11:00 PM, Brian Leathem wrote:<br>
    </div>
    <blockquote cite="mid:5266E778.8040506@gmail.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">Thanks for bringing this up Lukas.&nbsp;
        It's an issue we've skirted around before and never dealt with
        head on, mostly in the context of the pickList component
        [1,2,3].<br>
        <br>
        In RF-12360 [1] the user reporting the issue remarked:<br>
        "
        <meta http-equiv="content-type" content="text/html;
          charset=ISO-8859-1">
        this is not consistent with standard h:selectOneMenu onchange
        behaviour (which fires onchange event immediately)."<br>
        This however is inconsistent with the JSF API docs [4] which
        state that the onchange attribute is<br>
        "
        <meta http-equiv="content-type" content="text/html;
          charset=ISO-8859-1">
        Javascript code executed when this element loses focus and its
        value has been modified since gaining focus."<br>
        <br>
        @QE: Do you have metamer configured with vanilla JSF tags?&nbsp; We
        should do some investigative work and map out the onchange
        attribute behaviour for various HTML elements and JSF tags.<br>
        <br>
        @Lukas I like the idea of leaving keeping the change event
        aligned with the HTML and JSF specifications.&nbsp; Introducing a new
        event is the right way to go.&nbsp; W.r.t. your point about the
        attribute not being supported across all components - I don't
        think it's by any means a showstopper.&nbsp; <br>
        <br>
        In fact I would suggest that rather than have a single event
        that all components reuse, we rather have each component offer
        the change event + some-semantic-event specific to that
        component that can be used to trigger earlier notifications.<br>
        <br>
        For example, this would be the "keypress" event in an input
        element, or the "select" event in one of the select components,
        or the "drag" event for the inputNumberSlider etc.<br>
        <br>
        Brian<br>
        <br>
        [1] <a moz-do-not-send="true"
          href="https://issues.jboss.org/browse/RF-12360">https://issues.jboss.org/browse/RF-12360</a><br>
        [2] <a moz-do-not-send="true"
          href="https://issues.jboss.org/browse/RF-12929">https://issues.jboss.org/browse/RF-12929</a><br>
        [3] <a moz-do-not-send="true"
          href="https://issues.jboss.org/browse/RF-11617">https://issues.jboss.org/browse/RF-11617</a><br>
        <br>
        On 13-10-21 03:19 AM, Luk&aacute;&#353; Fry&#269; wrote:<br>
      </div>
      <blockquote
cite="mid:CAEroY36=A_-i8fd6qVHxcGfx6C2jZaA2m0ANUeJ3qowxa-zS3A@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div style="font-family:arial,sans-serif;font-size:13px">I
            would like to address an issue that arose from a discussion&nbsp;<a
              moz-do-not-send="true"
              href="https://issues.jboss.org/browse/RF-13180"
              target="_blank">https://issues.jboss.org/browse/RF-13180</a>&nbsp;.</div>
          <div style="font-family:arial,sans-serif;font-size:13px"><br>
          </div>
          <span style="font-family:arial,sans-serif;font-size:13px">When
            one reacts on changes of value, he can use 'change' event
            that have defficiency coming from classic HTML
            &lt;input&gt;:</span>
          <div style="font-family:arial,sans-serif;font-size:13px"> <br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">- the
            'change' event is fired after 'blur' event when the value
            changed between a focus and a subsequent blur event</div>
          <div style="font-family:arial,sans-serif;font-size:13px"> <br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">This
            means in component like &lt;r:calendar&gt; or
            &lt;r:autocomplete&gt;, a 'change' event is not fired when
            input is externally changed by selection of a value from
            popup, but only when a value is changed and then input is
            blurred.</div>
          <div style="font-family:arial,sans-serif;font-size:13px"><br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">This
            has downside in form of a bad experience:</div>
          <div style="font-family:arial,sans-serif;font-size:13px"> <br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">*
            client-side validation is triggered when autocomplete is
            blurred, but it could be validated right after selection
            from a suggestion box</div>
          <div style="font-family:arial,sans-serif;font-size:13px"> * so
            when one want to react on changes, he need to use
            behavior-based (as opposed to semantically-based) events,
            such as 'onkeypress', 'onselect'</div>
          <div style="font-family:arial,sans-serif;font-size:13px"> <br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">----</div>
          <div style="font-family:arial,sans-serif;font-size:13px"><br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">This
            defficiency could be solved by introducing new event: e.g.
            'valuechanged' which would be defined as:</div>
          <div style="font-family:arial,sans-serif;font-size:13px"><br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">*
            event 'valuechanged' is triggered when component's input is
            blurred or the value is changed externally</div>
          <div style="font-family:arial,sans-serif;font-size:13px"><br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">However,

            this solutions has its own drawback coming from a fact, that
            this event must be supported by library - so e.g. common JSF
            components won't be supported (unless we provide a shim for
            them - e.g. event triggering emulation).</div>
          <div style="font-family:arial,sans-serif;font-size:13px"><br>
          </div>
          <div style="font-family:arial,sans-serif;font-size:13px">~
            Lukas</div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
richfaces-dev mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:richfaces-dev@lists.jboss.org">richfaces-dev@lists.jboss.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/richfaces-dev">https://lists.jboss.org/mailman/listinfo/richfaces-dev</a></pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
richfaces-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:richfaces-dev@lists.jboss.org">richfaces-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/richfaces-dev">https://lists.jboss.org/mailman/listinfo/richfaces-dev</a></pre>
    </blockquote>
    <br>
  </body>
</html>