• Randall Leeds's avatar
    Overhaul view and sort behavior · dc477032
    Randall Leeds authored
    Bring the view and sort controls closer in line with the latest
    design decisions.
    
    - Start in Document view and Location sort.
    - When in Document view and Location sort, use dynamic bucket.
    - When in any sort other than location, disable dynamic bucket.
    - When in Location sort, all comments always appear at the bottom.
    - Remove the Screen and Comment views.
    - Remove the focus annotation state that was triggered by expanding
      a top level annotation; there is only hover emphasis now.
    - The `showViewer` call always goes to Selection view.
    - Using multi-select (Cmd or Ctrl Click on tabs and highlights) will
      trigger the Selection view, or switch back to the Document view
      if the selection is empty.
    - Page search always searches the whole document.
    - Leaving the page search switches back to the Document view.
    
    Additionally, many cleanups were made as a result.
    
    - No need to track focused state or comments in the client frames.
    - No need to pass the view name in `updateViewer` or `showViewer`.
    - No need to pass the focus purpose in `updateViewer`, `showViewer`,
      or `toggleViewerSelection`.
    - Drop various helper functions around focus.
    - No need to manually unshift or push newly created or streamed
      annotations into the view.
    - The viewer template uses threads at the top repeater, like the
      page search template.
    - The app controller maintains all the annotations on the root scope,
      the current selection shadowing it on the application scope, and
      a cheap, identity watch that retreives the threads.
    - The page search can use a cheap watch on the threads to refresh.
    - The reply list of each annotation is no longer set on the annotation
      object.
    - The thread directive now watches the thread children and keeps them
      sorted, rather than the annotation directive.
    - The recursive `buildReplyList` function is no longer needed.
    - Scattered use of the root scope is much reduced.
    - Drop requestAnimationFrame polyfill because angular has its own.
    - Drop the recursive directive, splitting out thread.html and using
      using ng-include for recursion.
    - Use a single render queue for all threads and sequence updates on
      animation frames, resulting in smooth, progressive rendering.
    - Combine the viewer and page_search templates.
    dc477032
Name
Last commit
Last update
..
polyfills Loading commit data...
.gitignore Loading commit data...
Markdown.Converter.js Loading commit data...
angular-animate.js Loading commit data...
angular-bootstrap.js Loading commit data...
angular-mocks.js Loading commit data...
angular-resource.js Loading commit data...
angular-route.js Loading commit data...
angular-sanitize.js Loading commit data...
angular.js Loading commit data...
annotator.auth.js Loading commit data...
annotator.document.js Loading commit data...
annotator.domtextmapper.js Loading commit data...
annotator.fuzzytextanchors.js Loading commit data...
annotator.js Loading commit data...
annotator.pdf.js Loading commit data...
annotator.permissions.js Loading commit data...
annotator.store.js Loading commit data...
annotator.textanchors.js Loading commit data...
annotator.texthighlights.js Loading commit data...
annotator.textposition.js Loading commit data...
annotator.textquote.js Loading commit data...
annotator.textrange.js Loading commit data...
chai.js Loading commit data...
d3.js Loading commit data...
diff_match_patch_uncompressed.js Loading commit data...
dom_text_mapper.js Loading commit data...
dom_text_matcher.js Loading commit data...
gettext.js Loading commit data...
jquery-1.10.2.js Loading commit data...
jquery.scrollintoview.js Loading commit data...
jschannel.js Loading commit data...
jstz.js Loading commit data...
jwz.js Loading commit data...
moment-timezone-data.js Loading commit data...
moment-timezone.js Loading commit data...
moment-with-langs.js Loading commit data...
momentum-timezone-data.js Loading commit data...
ng-tags-input.js Loading commit data...
page_text_mapper_core.js Loading commit data...
sinon.js Loading commit data...
sockjs-0.3.4.js Loading commit data...
text_match_engines.js Loading commit data...
uuid.js Loading commit data...