Commit Graph

17 Commits

Author SHA1 Message Date
Aaron Boodman 976c78cb30 Turn React-based UI on by default.
Change-Id: I7370954eb1fda679be25e3ab652fb3776c55c938
2014-01-20 11:32:04 -08:00
Aaron Boodman 6333126e79 Yak shave to fix a layout glitch moments after page load.
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
2014-01-19 14:03:42 -08:00
Aaron Boodman c5a31bafbb Wire up the detail view to the React-based UI.
The scroll position doesn't restore when navigating back to the
search page from the detail page. That will be interesting.

Change-Id: I5a008cdd6d1c83a4b8031d14ee26cfd9e383d73d
2014-01-16 00:41:02 -08:00
Aaron Boodman 1803104293 Implement most of BlobItemContainer using React.
Still left to do: update the nav in response to selection changes,
implement nav items, drag and drop.

Change-Id: I3f7cd0b8bdccd11a5816dce2bc214e60f844a130
2014-01-15 20:17:21 -08:00
Aaron Boodman ade30f9637 Convert nav to React.
Change-Id: Id05e1c87f97e0c20b935ae5360ce089993aae5ac
2014-01-15 20:14:45 -08:00
Aaron Boodman 79ff81a5a6 Use the "cam" prefix for all camlistore JavaScript identifiers.
Change-Id: Ia3d375abf4a4568ab0e83997e900a9d2aeae66c4
2014-01-07 21:47:45 -08:00
Aaron Boodman ff2600216e Convert the rest of the files in server/camlistore/ui to tabs.
Change-Id: I80fdb25b831c8ea9e780d9e104716c6756f0661c
2014-01-07 19:55:48 -08:00
Aaron Boodman c158868989 Move hashing of file uploads into a web worker.
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
2014-01-04 15:42:57 -08:00
Aaron Boodman 07cce4a3e6 Integrate the detail view into index.html.
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
2014-01-01 23:13:23 -08:00
Aaron Boodman c4e74959a2 New Navigation UI.
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
2013-12-16 19:28:20 -08:00
Aaron Boodman 8418852996 Combine search and index page functionality.
Also:

* Changed favicon to a safe
* Clean up design of toolbar
* SVG support buggy in Chrome, replace SVG checkmark icons with PNG

Screen cap:
http://vault.aaronboodman.com/share/sha1-2dbb2b515fc84f2ef1395ee263cd41c1a6700de2?via=sha1-6eb9c7651ffa8e6f4f95e8fc6800a4672c4e179a&assemble=1

Change-Id: Ic5d2eb30ea1d72022a2b8804cae887319ac32a1b
2013-10-16 01:08:02 -07:00
Aaron Boodman f322018816 Move the button to create permanode into toolbar.
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
2013-10-01 00:16:29 -07:00
mpl 75507e65fa newui: Final move to get rid of the old ui!
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
2013-06-11 13:25:59 +02:00
Brad Fitzpatrick 392640da89 camli.js: global cleanup. remove onConfiguration.
Change-Id: I1a74298ea1f333e060cebcf1221008705bcdb8ec
2013-01-20 12:46:50 -08:00
Brad Fitzpatrick 8a8aece4f0 Unify sort/go dropdowns into just View, make some functional
Change-Id: I5da584e550971465d69fbe5155414e83dfdcc8dd
2012-12-11 19:06:47 -08:00
Brad Fitzpatrick abb0e307d6 Show owner name on index page
Change-Id: Ic845283da88eea57a43a13ea13b2993070856102
2012-12-11 18:41:23 -08:00
Brad Fitzpatrick f0dfc6b6b7 Make recent.html the main page.
Change-Id: I50fde12eacbc59e996b845e0ee4d898fe7ad2764
2012-12-11 18:29:58 -08:00