package org.realityforge.arez.gwt.examples;

import elemental2.dom.DomGlobal;
import org.realityforge.arez.annotations.Action;
import org.realityforge.arez.annotations.Container;
import org.realityforge.arez.annotations.Observable;

@Container( singleton = true )
public class NetworkStatus
{
  private boolean _onLine;

  @Observable
  public boolean isOnLine()
  {
    return _onLine;
  }

  public void setOnLine( final boolean onLine )
  {
    _onLine = onLine;
  }

  @Action
  public void updateOnlineStatus()
  {
    setOnLine( DomGlobal.navigator.onLine );
  }
}

@@ -120,16 +120,67 @@
 Action;%0A
+import org.realityforge.arez.annotations.Computed;%0A
 import o
@@ -356,17 +356,20 @@
 oolean _
-o
+rawO
 nLine;%0A%0A
@@ -371,26 +371,24 @@
 ne;%0A%0A  @
-Observable
+Computed
 %0A  publi
@@ -423,23 +423,29 @@
  return 
-_o
+isRawO
 nLine
+()
 ;%0A  %7D%0A%0A 
@@ -445,22 +445,85 @@
 %0A  %7D%0A%0A  
-public
+@Observable%0A  boolean isRawOnLine()%0A  %7B%0A    return _rawOnLine;%0A  %7D%0A%0A 
  void se
@@ -519,24 +519,27 @@
 %0A%0A  void set
+Raw
 OnLine( fina
@@ -548,17 +548,20 @@
 boolean 
-o
+rawO
 nLine )%0A
@@ -573,17 +573,20 @@
    _
-o
+rawO
 nLine = 
 onLi
@@ -581,17 +581,20 @@
 nLine = 
-o
+rawO
 nLine;%0A 
@@ -653,16 +653,19 @@
 %0A    set
+Raw
 OnLine( 

Use computed value for OnLine flag