* When you scroll down the diff view, the controls will pin to the top.
* The revisions meta view was cleaned up. Copy changes.
* Loading indicator in the center of the screen (so it follows as you scroll).
* Tooltips "flip" when you cross the center line, so that they don't hit the container edge and wrap for later revisions.
* The "Restore" button's inactive state is handled on render, instead of after.
* Make sure we always have a current revision, even if the timestamp doesn't work out on the most recent one.
See #24804. Props markjaquith, nacin, ocean90, aaroncampbell.
git-svn-id: http://core.svn.wordpress.org/trunk@24761 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Shows an error message if the current diff can't be loaded.
* For bulk pre-loading, catches errors, and cuts subsequent requests in half, until eventually giving up.
* Some CSS fixes related to this, and the loading spinner.
* `wp.revisions.loadAll()` now returns a promise representing whether or not all revisions could be loaded.
Fixes#24758.
git-svn-id: http://core.svn.wordpress.org/trunk@24732 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Use hoverIntent to prevent inadvertent display and provide more forgiving exploration.
* Nice interruptable fading animation.
* Subtle CSS transition when moving the tooltip side-to-side.
Fixes#24734. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Hide the tooltip initially.
* Fix a bug with routing.
* Further separate the Slider model and view, refactoring its code.
* More reliance on events than direct calls between areas.
* Smarter background diff loading (single mode). Loads the diffs closest to your position first.
* Removed a bunch of manual templating and `render()` methods. Now relies more on the WP Backbone Views functionality.
* include the requested `id` in `ensure:load`.
* new trigger: `ensure`, for `ensure()` attempts, regardless of whether they are already loaded.
* pass along a promise in both `ensure` and `ensure:load`.
* in `ensure`, remove requests for diffs we aready have
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Loading indicator when the user is waiting for a trip to the server.
* Bug fixes for diff priming.
* Fix the date display.
* Forget about local comparator, instead order by `modified` on the server.
* Initialize the frame model before the view (this was the source of a LOT of heartache).
git-svn-id: http://core.svn.wordpress.org/trunk@24667 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Real URLs are being used now, using pushState. `?revision={id}` or `?from={from}&to={to}`.
* Drop the redundant `action=edit` from the URLs (this is the default).
* The initial comparison is preloaded, whether a single revision or a compare-two situation.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Solves the issue of Prev/Next buttons not being disabled on initial load, when routing to an extremity.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The CSS3 animations caused issues because the element was still there, and there is no standard way to know when a CSS3 animation is done.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Extracted a lot of model-y stuff from the view code.
* Slider now has a proper model, with communication with other models.
* Use of `get( foo )` instead of `findWhere({ id: foo })`.
* Properly set the `from` diff when routing single mode.
* Bind `prev()` and `next()` to their model.
* Tick marks are now percentage based, which means the slider resizes with the browser, without JS resize events.
* When scrubbing, the position of the scrubber is considered a hover, so you can fall off the timeline while still scrubbing and the tooltips will persist.
* Tooltips fade in and out.
* Tooltips hang around for a grace period instead of immediately going away. More forgiving.
* Unused code paths removed.
* Got rid of a bunch of view-to-view communication.
* Use `_.times()` instead of a `for` loop.
* Removed premature `Math.floor()` and `Math.ceil()` calls that were making things not add up to 100%.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Fix routing handler logic (`compareTwoMode` was reversed).
* Fix routing handler typo (both should use the same handler).
* Set `compareTwoMode` to false, to start. props duck_.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Single mode: `#at/:to`
* Compare two mode: `#from/:from/to/:to`
* Make use of `_.isUndefined()`
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Move some slider code into the slider view that was loitering in the checkmark view.
* `this.$()`, not `$()`.
* Cache a selector.
* `toggleClass()`, not `addClass()` with a ternary.
* Remove two classes with a single `removeClass()`.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24636 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Stuff needs to hook in, so firing it early results in a half-rendered screen.
* `updateDiff()` now returns a promise.
* Now, in the frame view's `render()`, it calls `updateDiff()`, relying on its promise.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24622 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* `wp.revisions.log()` — temporary measure for logging based on `wp.revisions.debug`
* Return promises from functions that sometimes bail but normally return promises.
See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This helps to solidify the separation between data and UI. We track the diffId internally now, as the property itself was never referenced, and was always derived from the 'from' and 'to' models. This also sets us up for better request debouncing and diff management.
git-svn-id: http://core.svn.wordpress.org/trunk@24609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Simple tick marks
* Tooltips snap to tick marks
* Tooltips arrow reverses side for LTR/RTL
* Fix for routing issue where just the hash is changed in the URL bar relating to compare two mode
see #24425. props adamsilverstein, ocean90.
git-svn-id: http://core.svn.wordpress.org/trunk@24595 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Corrected routing behavior
* Simplified CSS for tooltips
* Compare two mode for RTL
* Support for posts without titles
props adamsilverstein, ocean90. see #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Restore Compare two mode
* Restore tooltips
* RTL support
* First pass for URL routing and history
props adamsilverstein, see #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24549 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Much simpler PHP API
* Cleaner and more Backbone-y JS API
* Consequently, does batch queries; this now scales up to hundreds of revisions
Currently missing, but much easier considering the cleaned up base:
* Compare two mode
* RTL
props koopersmith, nacin, adamsilverstein, ocean90. see #24425
git-svn-id: http://core.svn.wordpress.org/trunk@24520 1a063a9b-81f0-0310-95a4-ce76da25c4cd