1. 16 Jul, 2014 9 commits
    • Randall Leeds's avatar
      Simplify duplicate facet handling · e5169552
      Randall Leeds authored
      When a query parameter is used twice in search or the same facet is
      selected twice in the search input handle it the same way.
      
      - Remove special code for multi-value filter clauses
      - Remove special parsing of text facet, which seems to have been
        added by mistake (the space-delimited text field might come from
        the text field being the default remainder field, meaning it takes
        the left-over text in the search box which doesn't match a facet)
      e5169552
    • Randall Leeds's avatar
      Remove unreachable code · 17408a9d
      Randall Leeds authored
      17408a9d
    • Randall Leeds's avatar
      a4cce8d8
    • Randall Leeds's avatar
      Exponential backoff for websocket failures · 8479e3b9
      Randall Leeds authored
      Close #1291
      8479e3b9
    • Randall Leeds's avatar
      Fix infinite scroll for new updater · 01ff10dd
      Randall Leeds authored
      01ff10dd
    • Randall Leeds's avatar
      Avoid updater double initialization · e1fdf324
      Randall Leeds authored
      Don't initialize the updater twice when logged in.
      
      When the session is first loaded, only initialize the updater if there
      are no logged in users in the session. If there are, the updater will
      be initialized by the watcher.
      
      Fix #1307
      e1fdf324
    • Randall Leeds's avatar
      Don't reconnect when deliberately closing updater · d70572b4
      Randall Leeds authored
      Failure to do this results in an infinite loop of reconnections.
      d70572b4
    • Randall Leeds's avatar
      Use $route.reload() instead of refresh events · 4c462bdf
      Randall Leeds authored
      Rather than using extra events to trigger a round trip through the
      visual search directive callbacks and query parsing, simply rely on
      $location.search() at the time the route controller is instantiated
      and stop using `reloadOnSearch: false` in the route definitions so
      that changes to the search trigger a refresh of the view.
      
      The QueryParser now splits `populateFilter` into `parseModels` and
      `populateFilter` so that the models can be parsed when the visual
      search callback fires and the filter can be populated separately
      from the query string after the route reload.
      
      Summary of improvements:
      
      - Drop the VSSearch and RefreshSearch events.
      - Make the search.query scope property a simple value instead of a
        function. This reduces the work required for the watcher and is
        possible because we no longer update the query string unless the
        query changes and the route will reload if it does.
      - Clearing the stream is no longer necessary, since it starts clear
        on each route reload.
      4c462bdf
    • Randall Leeds's avatar
      Turn Stream into App · e2dc84be
      Randall Leeds authored
      This refactor turns the stream page a part of our main H application
      
      Main features:
      * Stream is now accessible from our app at the /stream angular route
      * Stream has the same header (same look, same code) as the main app
      * Authentication from the stream page is now possible
      * The same visualsearch-bar is used both for page- and stream search
      * Stream page now uses our viewer.html to show annotation cards.
      * Replying to/editing/deleting annotations can be done in the stream
      page too.
      
      Details
      * streamsearch.pt is obsolete and has been delete because app.pt is
      used instead of it.
      * streamviewer.html is obsolete and has been deleted because
      viewer.html is used instead of it.
      * The QueryParser class is moved into the streamfilter.coffee and
      available is a new service for the app.
      * The visualsearch directive now uses functions living in the
      <current scope>.search object that any part of the app can configure it.
      e2dc84be
  2. 15 Jul, 2014 7 commits
  3. 14 Jul, 2014 3 commits
  4. 10 Jul, 2014 1 commit
  5. 09 Jul, 2014 2 commits
  6. 08 Jul, 2014 4 commits
  7. 07 Jul, 2014 2 commits
  8. 02 Jul, 2014 4 commits
  9. 01 Jul, 2014 5 commits
  10. 30 Jun, 2014 1 commit
    • Randall Leeds's avatar
      Small reset tweak in auth controller · 529b5f53
      Randall Leeds authored
      It's clearer if the form clears itself through a reset rather than
      waiting for it to happen later. This has the advantage of getting
      the password out of reachable memory sooner.
      
      Extending the scope rather than erasing its keys and replacing it
      with the base scope means the Auth controller can clear the form
      fields without clearing the session data in the scope.
      529b5f53
  11. 28 Jun, 2014 2 commits