title: Reactive forms: Patching value for p-editor results in losing focus
body: <p>Attempting to add a couple features to PrimeNG's standard rich text editor (which is actually just Quill.) The goal is to keep a running character count and to force a http protocol onto any links that are embedded without a http/https preface. So, the control:</p>
  
  <pre><code>&lt;p-editor  id=editor formControlName="summaryControl" class="spacer" (onTextChange)="onTextChanged($event)" placeholder="enter personal summary" [style]="{'height':'150px'}" &gt;
  </code></pre>
  
  <p>and the method:</p>
  
  <pre><code>onTextChanged(changeEvent) {
      if (changeEvent.source === 'api') {
        return;
      }
      const textValue = changeEvent.textValue;
      const htmlValue = changeEvent.htmlValue;
  
      const htmlLinksFixed = htmlValue.replace(/href="(?:(http|ftp|https)\:\/\/)?([^"]*)"/g, 'href="http://$2"');
  
      let textLength = textValue.length;
      if (textValue.charCodeAt(textValue.length - 1) === 10) {
        textLength = textLength - 1;
      }
  
      let countdown: any = this.maxLength - textLength;
      if (countdown &gt; this.maxLength) {countdown = this.maxLength; }
      if (countdown &gt; this.maxLength) {countdown = this.maxLength; }
      this.summaryFormGroup.patchValue({
        sumCountControl: countdown,
        summaryControl: htmlLinksFixed
      });
    }
  </code></pre>
  
  <p>This succeeds in my original goal but has an unfortunate side effect. When the value for SummaryControl is patched at the end the text area loses focus. So, effectively, you type a character, lose focus and then have to click back in to the editor to type your next character.</p>
  
  <p>I have a separate implementation elsewhere in the code that's using ngModel instead of reactive forms and just sets the underlying value. That works without this focus issue, so it seems specific to patchValue().</p>
  
  <p>Any thoughts on how to avoid this?</p>