Was basically caused by layout<->scrollbar interaction loop. Fix was to
calculate size of scrollbar and take it into account during layout.
At the same time, I decided to clean up the code and put the search results
scrollbar actually within BlobItemContainer, rather than having
BlobItemContainer reach up and change scroll styles of document.
This necessitated getting rid of some of the clever transform origin
stuff I was doing before, but it is less needed now.
Change-Id: I8641d87d8e593336aed48acef8b31680a52d7e6c
The scroll position doesn't restore when navigating back to the
search page from the detail page. That will be interesting.
Change-Id: I5a008cdd6d1c83a4b8031d14ee26cfd9e383d73d
Still left to do: update the nav in response to selection changes,
implement nav items, drag and drop.
Change-Id: I3f7cd0b8bdccd11a5816dce2bc214e60f844a130
We were observing UI jank, which ended up being due to GC. Even with chunking
and very small chunk sizes, it was hard to reliably get 30fps on my macbook.
Moving to a worker completely solves the problem. We stay at 60fps the entire
time the hashing is taking place, no matter how many files/how large, etc.
Also, switch to using Closure's crypto support, which has been added since
the upload code was originally written, since it hassupport for incremental
hashing, javascript typed arrays, and other niceties.
Change-Id: I018d6839b2cf037b8d6b03e1a0ea7164bc5a782d
The detail view now loads with only two HTTP requests: one for the
piggy, and one for the big image. No other resources are loaded,
even the blob descriptions, because they are cached by SearchSession,
which is shared between the search ui and the detail ui.
Likewise, when you go back to the search results page, no additional
requests are done.
Also:
- When you press back on detail page, scroll position is now usually
restored (if you refresh between index and detail, it still won't
restore).
- Detail page live updates! It came for free with using SearchSession.
Change-Id: I58ada7bdd30afc2644860fbda6167fc5ce865b0d
I'm sure there's still lots of refinement that needs to be done here, but this
seems like a good checkpoint.
Change-Id: Ida808464c0cc40c84f7f79c016d3c6a148d50a32
Also:
* Make the entire BlobItemController a drop target for new files,
except for when over a set, then the set is the target.
* Minor visual refinements to highlight states during dragging.
* Fix bugs/flicker in dragdrop code.
* Fix bug where there is an empty button in toolbar before the first
item is selected.
Change-Id: I3c40a476395c885477e1316e6ff168399640e347
1) Everything in ui/ except for js-notes.txt was removed.
2) mv newui/* ui/
3) modified pkg/server/ui.go to make it all work
4) modified Makefile to generate server/camlistored/ui/deps.js
5) regenerated all the zembeds
6) Some fixes to attempt to make it (re-)work on appengine:
-removed the Go1.1 check
-added pkg/osutil/restart_stub.go (for restarting a process)
7) The closure handler now redirects to the online files when
the closure library is not on disk, because we do not embed
the required closure js files.
Change-Id: Id1bcf007550cafb7188ba2674352e8f3bd07fb8c