Commit Graph

59 Commits

Author SHA1 Message Date
Mark Jaquith
e8b9088c5f 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: http://core.svn.wordpress.org/trunk@24671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 14:01:39 +00:00
Mark Jaquith
13a7d2a743 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: http://core.svn.wordpress.org/trunk@24667 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 05:11:56 +00:00
Mark Jaquith
6af2febb37 Revisions: use reject(), not fail(), when rejecting a deferred.
See #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24666 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 05:11:50 +00:00
Mark Jaquith
c44ce3b6e6 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: http://core.svn.wordpress.org/trunk@24664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-11 22:56:48 +00:00
Mark Jaquith
0fabcaaa0a 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: http://core.svn.wordpress.org/trunk@24661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-11 18:43:18 +00:00
Mark Jaquith
2940a03ae5 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: http://core.svn.wordpress.org/trunk@24660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-11 18:43:12 +00:00
Mark Jaquith
ef5e733dbf 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: http://core.svn.wordpress.org/trunk@24658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-11 09:14:14 +00:00
Andrew Nacin
721f7ba271 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: http://core.svn.wordpress.org/trunk@24652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-11 00:20:36 +00:00
Mark Jaquith
b3dbe47b1f 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: http://core.svn.wordpress.org/trunk@24646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-10 19:17:01 +00:00
Mark Jaquith
80c7cd0e0a 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: http://core.svn.wordpress.org/trunk@24638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-10 06:08:56 +00:00
Mark Jaquith
abc060a6c3 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: http://core.svn.wordpress.org/trunk@24636 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-10 05:40:45 +00:00
Mark Jaquith
8035bd88ad Revisions: Get rid of an unneccessary ID. IDs are a bad idea.
See #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24629 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-10 04:37:50 +00:00
Mark Jaquith
8707375cee Revisions: Update the compare mode before rendering subviews.
See #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24627 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-10 04:15:34 +00:00
Mark Jaquith
b6c1023caa 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: http://core.svn.wordpress.org/trunk@24622 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-10 03:20:58 +00:00
Mark Jaquith
35b08acc8d Pass back dateUnix (a unix timestamp) for better sorting of revisions in Backbone.
Props duck_. See #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 19:21:25 +00:00
Mark Jaquith
245c08fbdf 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: http://core.svn.wordpress.org/trunk@24613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 19:00:11 +00:00
Daryl Koopersmith
590bf668e9 Revisions: Debounce fetching Diffs when revisions are updated.
Fixes navigation and casting bugs.

See #24425.


git-svn-id: http://core.svn.wordpress.org/trunk@24611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 09:57:58 +00:00
Daryl Koopersmith
874d93f7b8 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: http://core.svn.wordpress.org/trunk@24609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 08:50:32 +00:00
Daryl Koopersmith
803dc4a79e Revisions: Simplify router property name. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24608 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 08:20:12 +00:00
Daryl Koopersmith
c0af952db4 Revisions: Remove unnecessary router property. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24607 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 08:15:55 +00:00
Daryl Koopersmith
c21c38722c Revisions: Simplify how URLs are updated. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 08:14:38 +00:00
Daryl Koopersmith
2f9ef11796 Revisions: Reduce points where IDs are cast in JS. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24605 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 07:55:50 +00:00
Daryl Koopersmith
79ea6dcb98 Revisions: Remove unused template. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 07:34:54 +00:00
Daryl Koopersmith
5c10250187 Revisions: A healthy dose of pinking shears. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 07:33:15 +00:00
Daryl Koopersmith
764bc6d6c8 Revisions: Remove redundant tagNames. Props markjaquith, see #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 07:14:23 +00:00
Daryl Koopersmith
419ddce730 Revisions: Use toggleClass instead of a conditional. See #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 07:11:43 +00:00
Daryl Koopersmith
179bb9a6ba Revisions: Remove redundant method, see #24425.
git-svn-id: http://core.svn.wordpress.org/trunk@24600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 07:07:53 +00:00
Mark Jaquith
561db4a6da 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: http://core.svn.wordpress.org/trunk@24595 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-08 21:37:03 +00:00
Dominik Schilling
65f9f1710b Revisions improvements
* Enable smooth sliding in Compare two mode

props adamsilverstein. see #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24579 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-06 20:22:02 +00:00
Dominik Schilling
4fc5e70228 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: http://core.svn.wordpress.org/trunk@24578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-06 10:48:14 +00:00
Dominik Schilling
e90986ae62 Revisions improvements
Revert mouse dragging code which was accidentally removed in [24565].

see #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-05 22:54:17 +00:00
Mark Jaquith
37db654d60 Revisions improvements
* Consolidated router code
* Corrected routing behavior
* Tooltip model
* Removed mouse dragging code

props adamsilverstein, ocean90. see #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24565 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-05 17:44:47 +00:00
Mark Jaquith
952b7acaca 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: http://core.svn.wordpress.org/trunk@24556 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-04 08:30:36 +00:00
Dominik Schilling
f6ca108240 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: http://core.svn.wordpress.org/trunk@24549 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-03 20:27:19 +00:00
Mark Jaquith
77abb9ff01 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: http://core.svn.wordpress.org/trunk@24520 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-26 21:06:50 +00:00
Dominik Schilling
fe67f477d1 Revisions UI: Reduce the min width of a tick. props adamsilverstein. see #23901.
git-svn-id: http://core.svn.wordpress.org/trunk@24254 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-14 17:35:26 +00:00
Dominik Schilling
9ab1807c76 Revisions JS: Fix inline docs. props a.hoereth. see #23901.
git-svn-id: http://core.svn.wordpress.org/trunk@24253 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-14 17:30:18 +00:00
Sergey Biryukov
74638ccb5a Fix typos in phpdoc. props TheLastCicada. fixes #24302.
git-svn-id: http://core.svn.wordpress.org/trunk@24229 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-10 01:39:30 +00:00
Dominik Schilling
cbec9880a7 Revisions UI: RTL support. (And inline docs.)
props DrewAPicture, adamsilverstein. fixes #23897.

git-svn-id: http://core.svn.wordpress.org/trunk@24205 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-08 21:22:01 +00:00
Dominik Schilling
2f1777986c Revisions UI: Just another update - Now with improved tick marks and tooltips.
props adamsilverstein. see #23935.

git-svn-id: http://core.svn.wordpress.org/trunk@24174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-03 23:17:06 +00:00
Dominik Schilling
ea1cecebee Revisions UI: Add translation contexts and remove unneeded lines.
props nao. fixes #23917.

git-svn-id: http://core.svn.wordpress.org/trunk@24157 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-02 10:12:19 +00:00
Dominik Schilling
45ccae1092 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: http://core.svn.wordpress.org/trunk@24119 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-28 10:56:57 +00:00
Dominik Schilling
b3aa214ea1 Revisions JS: Fix typo. props westi . fixes #24136.
git-svn-id: http://core.svn.wordpress.org/trunk@24040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-19 22:02:24 +00:00
Dominik Schilling
670c0e173f 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: http://core.svn.wordpress.org/trunk@24020 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 20:12:25 +00:00
Dominik Schilling
45a9b723ee Revisions: Clean up JavaScript variable names, see #23901.
git-svn-id: http://core.svn.wordpress.org/trunk@24019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 19:34:21 +00:00
Sergey Biryukov
c7dabe0e5d Use correct class. see #23933.
git-svn-id: http://core.svn.wordpress.org/trunk@23915 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-05 00:20:19 +00:00
Sergey Biryukov
f5bcbce283 Use correct id attribute. props ocean90. fixes #23937.
git-svn-id: http://core.svn.wordpress.org/trunk@23909 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-04 20:58:33 +00:00
Sergey Biryukov
9e78cd0042 Fix typo in revisions JS/CSS. props mgibbs189, JustinSainton. fixes #23941.
git-svn-id: http://core.svn.wordpress.org/trunk@23908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-04 20:49:26 +00:00
Mark Jaquith
90c2110475 A little more revisions js/php cleanup. see #23901. props kovshenin, ocean90.
git-svn-id: http://core.svn.wordpress.org/trunk@23904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-04 16:03:21 +00:00
Mark Jaquith
979b1c14c3 Revisions CSS cleanup.
props ocean90. fixes #23933

git-svn-id: http://core.svn.wordpress.org/trunk@23901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-04 15:49:28 +00:00