title: Vaadin 23: addPropertyChangeListener for JavaScript changes
body: <p><strong>Intended</strong>: In a Vaadin 23 application I'd like to get informed when the value of an HTML attribute is changed.</p>
  <p><strong>What I tried</strong>: I created this input formula:</p>
  <p><a href="https://i.stack.imgur.com/wAvQB.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wAvQB.png" alt="Sample input form" /></a></p>
  <pre><code>    // Text input field
      Input input = new Input();
      input.setId(&quot;myInputField&quot;);
      Element textInput = input.getElement();
      
      // Change listener for property &quot;value&quot;
      // Works well for manual input
      // BUT doesn't work for JavaScript changes
      textInput.addPropertyChangeListener(&quot;value&quot;, &quot;change&quot;, 
          e -&gt; {System.out.println(e.getValue());}
      );
      
      // Button that changes the value of attribute &quot;value&quot;
      Button button = new Button(&quot;Change value&quot;);
      button.addClickListener(e -&gt; {UI.getCurrent().getPage().executeJs(
          &quot;document.getElementById('myInputField').setAttribute('value','hello');&quot;
      );});
  
      this.add(input, button);
  </code></pre>
  <p><strong>What does work</strong>: When the user types &quot;something&quot; into the input field then the server prints &quot;something&quot; to the console. This is intended and observed. OK.</p>
  <p><strong>What does NOT work</strong>: When the user pushes the button then the content of the input field is &quot;hello&quot; (OK). But the PropertyChangeListener does not fire an event, so the server does not print anything to the console.</p>
  <p><strong>Question</strong>: Is there a way to get the PropertyChangeListener fire an event, even if the attribute's value has been changed by JavaScript?</p>