1. 29 Oct, 2015 1 commit
    • Robert Knight's avatar
      Fix exception when GROUPS_CHANGED event is broadcast during route load · e30dffdd
      Robert Knight authored
      The <group-list> directive attempted to update itself in
      response to a group change notification without triggering
      a full digest cycle by using `$scope.$apply`.
      
      This was based on the incorrect understanding that $apply only
      dirty-checks the current scope downwards. In fact, in dirty-checks
      the root scope. Additionally, the logic was pointless since
      group list/focus changes happen in response to two types of events,
      both of which are triggered in the context of $apply:
      
       * An event handler when the user selects a group
      
       * A callback from angular-websocket when a WebSocket message
         is received.
      e30dffdd
  2. 28 Oct, 2015 5 commits
  3. 27 Oct, 2015 18 commits
  4. 26 Oct, 2015 6 commits
  5. 24 Oct, 2015 1 commit
    • Robert Knight's avatar
      Fix flash of unlinked template when changing groups · fe754ac8
      Robert Knight authored
      When an app reload occurs, the 'Clear Search' and
      'Clear Selection' buttons would sometimes flash.
      
      This occurred due to an issue where the initial
      call to the watcher registered by ng-show to hide
      the buttons being invoked asynchronously in some cases.
      
      When the app's route is loaded, the following happens:
      
       1) viewer.html is compiled
       2) viewer.html is linked
       3) Watchers registered by directives during (1) and (2)
          are run. For the watchers registered by 'ng-show',
          this applies the .nghide CSS class that hides
          elements.
      
      On initial app load, 1-3 all happen synchronously in the
      same scope.$digest cycle. However, when logging in with
      an incorrect password, 1 & 2 happened in the same cycle
      but 3 happened in a separate cycle, with DOM rendering
      taking place in a flash between before the directive
      was fully ready.
      
      The GitHub issue has more detail and there is some
      connection to the 'deepCount' directive but I decided
      not to alter that here without sufficient understanding
      of the consequences.
      
      This commit fixes the issue by applying the 'nghide'
      class to the viewer.html initially and then letting
      ng-show _remove it_ when its watcher runs. This fixes
      the flash when 1-2 and 3 happen in separate digest cycles
      and has no effect if they run in the same cycle.
      
      Fixes #2642
      fe754ac8
  6. 23 Oct, 2015 3 commits
  7. 22 Oct, 2015 4 commits
  8. 21 Oct, 2015 2 commits