- 12 Sep, 2014 5 commits
-
-
Aron Carroll authored
Each controller for the viewer template must now define a shouldShowAnnotation method that accepts an annotation id and determines whether it should be displayed. This moves the logic out of the template and into the controllers.
-
Randall Leeds authored
Lots of changes to massively simplify things and make them much more performant. - The thread directive gets a few changes - Cleared up confusing tuple unpacking in favor of named properties in the render queue as per the suggestion of @aron - The replies and annotation are set at once. Since the replies in turn render lazily, this should be fast enough for all but an unwieldy number of threads. If we hit that wall, we'll have to do some filtering / pagination. - The directive is now triggered only on attributes and parses the attribute value to get the thread - The threads are rendered from a single thread root rather than using a global list of annotations that must be watched for its threads to be extracted. This results in a huge performance gain because this thread container has a stable set of children. - When the first `annotationsLoaded` callback arrives, we set a new root from the result of asking the threading plugin to thread them - Lots of hackery during store reloads goes away because we just nuke the thread root and reload - The application controller does not have to modify a root annotation set at all anymore - Use of the root scope in the controllers goes away entirely - The ongoing edit is now stored in the scope again so that it can be be pinned to the top of the thread list - The editor view and controller go away completely because the top level edit is now pinned to the top of the list, removing the need to re-render annotations between editing and viewing - The selected annotations are now a hash of annotation ids to true values if the annotation is selected, or null if the selection is empty - An ng-show is used to show/hide the selected/unselected annotations, further reducing re-renders - The view state is gone complete and now there is only sort - The sort is not applied programmatically in the controller, but a simple watch on the name of the sort is used to set the predicate and reverse settings as scope properties that feed into an orderBy filter on the thread list, reducing the number of extra watches we have to do and further reducing the code - The sort is no longer an animated dropdown, but sits at the top of the list always (I assume we can style this better, so have at it) - Unnecessary helper and logging functions are removed from the annotator service because silence is golden
-
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.
-
Randall Leeds authored
This reverts commit f8107e08c4f89fe41a2825693225609bcd5e17b4.
-
Randall Leeds authored
-
- 11 Sep, 2014 3 commits
-
-
gergely-ujvari authored
Don't read the parent when sending stream updates
-
Randall Leeds authored
When reloading the application, call the destroy methods to unbind an event handlers, etc.
-
Randall Leeds authored
The Angular parser isn't expressive enough to handle anything but a subset of ASCII so it's not suitable for pushing arbitrary JSON data into the scope via ng-init. We'll have to do something else. For now, remove it because it was just premature optimisation.
-
- 10 Sep, 2014 4 commits
-
-
gergely-ujvari authored
Remove source map code from vendor files
-
gergely-ujvari authored
Fix error when pressing delete in empty tag field
-
Aron Carroll authored
This removes a huge dump of console warnings as the browser tries and fails to request the map files.
-
Aron Carroll authored
Pressing backspace in the tags input still calls the removeTag handler. This results in an exception when scope.model.tags was undefined. Now we check for a tag and the tags array before updating.
-
- 08 Sep, 2014 4 commits
-
-
Randall Leeds authored
Remove web fonts
-
Aron Carroll authored
-
Aron Carroll authored
-
Aron Carroll authored
Now using Helvitica Neue/Arial and Georgia over Open Sans and Merriweather to reduces the size of the application payload and increase loading times. The fonts themselves were not adding much to the overall experience.
-
- 02 Sep, 2014 5 commits
-
-
Randall Leeds authored
Convert coffee files in scripts/vendor to js, modify scripts/vendor/.gitignore
-
RawKStar77 authored
-
RawKStar77 authored
-
RawKStar77 authored
-
Randall Leeds authored
Added trivial change section
-
- 01 Sep, 2014 1 commit
-
-
Aron Carroll authored
Configure updater for standalone page.
-
- 29 Aug, 2014 8 commits
-
-
Gergely Ujvari authored
-
Gergely Ujvari authored
An annotation standalone page should only listen to news from the showed annotation and its replies. This has been lost in the our series of refactoring. Now it is restored. Fix #1427
-
gergely-ujvari authored
Remove the util service
-
Aron Carroll authored
Move removeQuoteCharacter into an inner function of _tokenize()
-
Aron Carroll authored
This is now consistent with the formHelpers file. The baseURI method is now available on the documentHelpers object.
-
Gergely Ujvari authored
Also fix a snake_case to camelCase conversion
-
Aron Carroll authored
Add ltr direction to our top injected elements.
-
Gergely Ujvari authored
Otherwise our text flow is broken at rtl pages. Also remove a superfluous rule
-
- 28 Aug, 2014 2 commits
-
-
Aron Carroll authored
Immediately refresh viewer for live-updates
-
Gergely Ujvari authored
Our applyUpdates() puts/deletes annotations into the viewer. But for the stream page, because there was no scope digest cycle it seemed that the UI was reacting very slow to show the annotations. This one-liner just creates a digest cycle in these scenarios. The user experience is a magnitude better with this in the stream page Fix #1455
-
- 27 Aug, 2014 2 commits
-
-
gergely-ujvari authored
Delete NotificationController
-
Aron Carroll authored
It doesn't seem to be used anywhere...
-
- 26 Aug, 2014 1 commit
-
-
Aron Carroll authored
This brings it inline with the helpers.coffee, and now uses .factory instead of .service to register the object.
-
- 25 Aug, 2014 5 commits
-
-
Randall Leeds authored
Remove display: run-in from thread indicators
-
Randall Leeds authored
Improve padding on #home page
-
Randall Leeds authored
Remove hover state on tabs
-
Jake Hartnell authored
Small tweaks and fixes to the styled-text module
-
Jake Hartnell authored
All sheet tabs now have a bottom border
-