title: focus event is getting called before writeValue() when using custom directive inside ag-Grid cell Editor
body: <p><strong>Goal</strong>: Make ag-Grid cell editable as a currency control.</p>
  <p><strong>Approach</strong>:</p>
  <ol>
  <li>Created a custom directive for currency.</li>
  <li>Created a custom cell editor, which uses that currency directive.</li>
  </ol>
  <p><strong>Issue</strong>:</p>
  <p>In a normal scenario, on page load, control with directive (implements ControlValueAccesor) loads and writeValue() is called to initialize the value in the control. So, I'm displaying the value with the currency($) symbol using writeValue(). And when, user clicks on the control, I'm displaying the value without currency symbol by writing the logic in focus event.</p>
  <p>Now, with ag-Grid, directive would not load on page load. It would load when control is clicked, since it is enclosed within a cell editor. So, on click/focus, the following gets called in the following order -</p>
  <ol>
  <li>focus event - It would set the control value to null, since no value has been set yet using writeValue. But soon after that, writeValue() is called.</li>
  <li>writeValue() - It would set the control value to the value with $ symbol, which I don't want. I want value without the $ symbol, on focus.</li>
  </ol>
  <p>So, how can I call writeValue() before the focus event of the directive?</p>
  <p><strong>Note</strong>: Btw, 2-click functionality of cell-editor is working fine but I want 1-click solution, as I have set the focus on the control in <code>afterGuiAttached()</code>.</p>