Commit Graph

61 Commits

Author SHA1 Message Date
Mark Jaquith
f215ae599a Revisions: Code and whitespace cleanup.
See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24679 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-12 18:14:23 +00:00
Mark Jaquith
db9e747264 Revisions: Have the tooltip follow the "from" scrubber handle when that is the one being moved, in compare-two mode.
See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24678 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-12 17:25:27 +00:00
Mark Jaquith
3584dd58a9 Revisions: Cleanup, bug fixes, refactoring, polish.
* 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: https://develop.svn.wordpress.org/trunk@24671 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-12 14:01:39 +00:00
Mark Jaquith
d88021e236 Revisions: Loading indicator, cleanup, bug fixes.
* 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: https://develop.svn.wordpress.org/trunk@24667 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-12 05:11:56 +00:00
Mark Jaquith
539440d159 Revisions: use reject(), not fail(), when rejecting a deferred.
See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24666 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-12 05:11:50 +00:00
Mark Jaquith
1fb9b2cfa1 Revisions: real URLs and preloading of the requested diff.
* 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: https://develop.svn.wordpress.org/trunk@24664 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-11 22:56:48 +00:00
Mark Jaquith
f22e1a65d2 Revisions: Immediately do a disabled button check on ready().
Solves the issue of Prev/Next buttons not being disabled on initial load, when routing to an extremity.

See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24661 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-11 18:43:18 +00:00
Mark Jaquith
9c1bac9eba Revisions: Use jQuery animation.
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: https://develop.svn.wordpress.org/trunk@24660 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-11 18:43:12 +00:00
Mark Jaquith
c5d53046a9 Revisions: Bunch of refactoring and code cleanup
* 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: https://develop.svn.wordpress.org/trunk@24658 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-11 09:14:14 +00:00
Andrew Nacin
31322f220a Rename wp.xhr to wp.ajax to match admin-ajax.php (which it uses), jQuery.ajax (which it wraps), etc. see #24424.
git-svn-id: https://develop.svn.wordpress.org/trunk@24652 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-11 00:20:36 +00:00
Mark Jaquith
3fb18a0cc4 Revisions: fixes for routing and initial setting of compareTwoMode
* 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: https://develop.svn.wordpress.org/trunk@24646 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-10 19:17:01 +00:00
Mark Jaquith
63980a7297 Revisions: simpler hash URLs. Misc refactoring.
* Single mode: `#at/:to`
* Compare two mode: `#from/:from/to/:to`
* Make use of `_.isUndefined()`

See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24638 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-10 06:08:56 +00:00
Mark Jaquith
90511e935b Revisions: remove some redundant code.
* 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: https://develop.svn.wordpress.org/trunk@24636 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-10 05:40:45 +00:00
Mark Jaquith
d42c83177b Revisions: Get rid of an unneccessary ID. IDs are a bad idea.
See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24629 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-10 04:37:50 +00:00
Mark Jaquith
d60db0ea48 Revisions: Update the compare mode before rendering subviews.
See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24627 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-10 04:15:34 +00:00
Mark Jaquith
e62170f6e2 Don't call updateDiff() in the Revisions FrameState model.
* 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: https://develop.svn.wordpress.org/trunk@24622 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-10 03:20:58 +00:00
Mark Jaquith
8dfbe56e79 Pass back dateUnix (a unix timestamp) for better sorting of revisions in Backbone.
Props duck_. See #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24615 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 19:21:25 +00:00
Mark Jaquith
b4b9544d35 Move the loading of surrounding diffs functionality into the model.
* `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: https://develop.svn.wordpress.org/trunk@24613 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 19:00:11 +00:00
Daryl Koopersmith
286a44fcf6 Revisions: Debounce fetching Diffs when revisions are updated.
Fixes navigation and casting bugs.

See #24425.


git-svn-id: https://develop.svn.wordpress.org/trunk@24611 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 09:57:58 +00:00
Daryl Koopersmith
f9e4a8500a Revisions: Move data management into the frame state. See #24425.
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: https://develop.svn.wordpress.org/trunk@24609 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 08:50:32 +00:00
Daryl Koopersmith
f2ab17ee13 Revisions: Simplify router property name. See #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24608 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 08:20:12 +00:00
Daryl Koopersmith
155046f796 Revisions: Remove unnecessary router property. See #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24607 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 08:15:55 +00:00
Daryl Koopersmith
0e8e4b4e49 Revisions: Simplify how URLs are updated. See #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24606 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 08:14:38 +00:00
Daryl Koopersmith
15df489ecd Revisions: Reduce points where IDs are cast in JS. See #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24605 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 07:55:50 +00:00
Daryl Koopersmith
5917fcb621 Revisions: Remove unused template. See #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24604 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 07:34:54 +00:00
Daryl Koopersmith
45d2a20783 Revisions: A healthy dose of pinking shears. See #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24603 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 07:33:15 +00:00
Daryl Koopersmith
8e85892a3f Revisions: Remove redundant tagNames. Props markjaquith, see #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24602 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 07:14:23 +00:00
Daryl Koopersmith
9e5fb3311f Revisions: Use toggleClass instead of a conditional. See #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24601 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 07:11:43 +00:00
Daryl Koopersmith
7f8538805b Revisions: Remove redundant method, see #24425.
git-svn-id: https://develop.svn.wordpress.org/trunk@24600 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 07:07:53 +00:00
Mark Jaquith
4c35743a1a Tick marks are back for revisions
* 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: https://develop.svn.wordpress.org/trunk@24595 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-08 21:37:03 +00:00
Dominik Schilling (ocean90)
fbeed0e364 Revisions improvements
* Enable smooth sliding in Compare two mode

props adamsilverstein. see #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24579 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-06 20:22:02 +00:00
Dominik Schilling (ocean90)
814c36baea Revisions improvements
* 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: https://develop.svn.wordpress.org/trunk@24578 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-06 10:48:14 +00:00
Dominik Schilling (ocean90)
fcf1e26cff Revisions improvements
Revert mouse dragging code which was accidentally removed in [24565].

see #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24575 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-05 22:54:17 +00:00
Mark Jaquith
e87e8f608a Revisions improvements
* Consolidated router code
* Corrected routing behavior
* Tooltip model
* Removed mouse dragging code

props adamsilverstein, ocean90. see #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24565 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-05 17:44:47 +00:00
Mark Jaquith
ffa73b8fc5 Debounce the Revisions UI URL updates as you scrub, for a massive speedup and a reduction in URL history detritus.
see #24425

git-svn-id: https://develop.svn.wordpress.org/trunk@24556 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-04 08:30:36 +00:00
Dominik Schilling (ocean90)
3690db14f7 Revisions UI update:
* Restore Compare two mode
* Restore tooltips
* RTL support
* First pass for URL routing and history

props adamsilverstein, see #24425.

git-svn-id: https://develop.svn.wordpress.org/trunk@24549 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-03 20:27:19 +00:00
Mark Jaquith
ac0d0d1dee Cleanup of the revisions screen, both on the PHP API side, and the JS.
* 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: https://develop.svn.wordpress.org/trunk@24520 602fd350-edb4-49c9-b593-d223f7449a82
2013-06-26 21:06:50 +00:00
Dominik Schilling (ocean90)
e1a2affe21 Revisions UI: Reduce the min width of a tick. props adamsilverstein. see #23901.
git-svn-id: https://develop.svn.wordpress.org/trunk@24254 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-14 17:35:26 +00:00
Dominik Schilling (ocean90)
19fd80736a Revisions JS: Fix inline docs. props a.hoereth. see #23901.
git-svn-id: https://develop.svn.wordpress.org/trunk@24253 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-14 17:30:18 +00:00
Sergey Biryukov
2b1420456d Fix typos in phpdoc. props TheLastCicada. fixes #24302.
git-svn-id: https://develop.svn.wordpress.org/trunk@24229 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-10 01:39:30 +00:00
Dominik Schilling (ocean90)
0b5b837917 Revisions UI: RTL support. (And inline docs.)
props DrewAPicture, adamsilverstein. fixes #23897.

git-svn-id: https://develop.svn.wordpress.org/trunk@24205 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-08 21:22:01 +00:00
Dominik Schilling (ocean90)
40cf994e77 Revisions UI: Just another update - Now with improved tick marks and tooltips.
props adamsilverstein. see #23935.

git-svn-id: https://develop.svn.wordpress.org/trunk@24174 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-03 23:17:06 +00:00
Dominik Schilling (ocean90)
67d2cfeb89 Revisions UI: Add translation contexts and remove unneeded lines.
props nao. fixes #23917.

git-svn-id: https://develop.svn.wordpress.org/trunk@24157 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-02 10:12:19 +00:00
Dominik Schilling (ocean90)
800d88397a Revisions UI update:
* Style status loading as a regular update message like on the other screens
 * Move compare two checkbox to diff header to avoid an overlap on long post titles
 * Restore color shades for the scope of changes visualisation 
 * Show tooltips while moving the slider handle
 * Diff header styling
 * Move color declarations to classic/fresh stylesheets
 * Sync admin color stylesheets

props jrbeilke for initial patch. see #23935.

git-svn-id: https://develop.svn.wordpress.org/trunk@24119 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-28 10:56:57 +00:00
Dominik Schilling (ocean90)
990c7c1b81 Revisions JS: Fix typo. props westi . fixes #24136.
git-svn-id: https://develop.svn.wordpress.org/trunk@24040 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-19 22:02:24 +00:00
Dominik Schilling (ocean90)
814a49b51b Revisions UI: Disable previous and next buttons when you're on the first, and last node. Put revision ticks above the slider range. props lessbloat for initial patch. see #23899.
git-svn-id: https://develop.svn.wordpress.org/trunk@24020 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-17 20:12:25 +00:00
Dominik Schilling (ocean90)
d8bf6c44b3 Revisions: Clean up JavaScript variable names, see #23901.
git-svn-id: https://develop.svn.wordpress.org/trunk@24019 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-17 19:34:21 +00:00
Sergey Biryukov
4200e2702f Use correct class. see #23933.
git-svn-id: https://develop.svn.wordpress.org/trunk@23915 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-05 00:20:19 +00:00
Sergey Biryukov
3095f5af6b Use correct id attribute. props ocean90. fixes #23937.
git-svn-id: https://develop.svn.wordpress.org/trunk@23909 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-04 20:58:33 +00:00
Sergey Biryukov
244974e838 Fix typo in revisions JS/CSS. props mgibbs189, JustinSainton. fixes #23941.
git-svn-id: https://develop.svn.wordpress.org/trunk@23908 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-04 20:49:26 +00:00