Commit Graph

85 Commits

Author SHA1 Message Date
Adam Silverstein
c7b217cee9 JavaScript: when starting Backbone history, stop if previously started.
Prevent a potential error condition if Backbone history is started by a plugin or theme before core tries to start it. 

Props tfrommen.
Fixes #39612.

Built from https://develop.svn.wordpress.org/trunk@40076


git-svn-id: http://core.svn.wordpress.org/trunk@40013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 22:00:42 +00:00
Dominik Schilling
e5ea82d81a Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
Props obrienlabs, thewanderingbrit.
Fixes #34887.
Built from https://develop.svn.wordpress.org/trunk@36709


git-svn-id: http://core.svn.wordpress.org/trunk@36676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-25 12:53:27 +00:00
Gary Pendergast
6381e168b7 Pinking Shears: Remove some errant non-breaking spaces from a few JavaScript files.
Props francoisb.

Fixes #34658.


Built from https://develop.svn.wordpress.org/trunk@35627


git-svn-id: http://core.svn.wordpress.org/trunk@35591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-12 12:04:27 +00:00
Dominik Schilling
e72efb71f0 Revisions: Fix initial state of compareTwoMode.
Broken since [30131].

fixes #30672.
Built from https://develop.svn.wordpress.org/trunk@30831


git-svn-id: http://core.svn.wordpress.org/trunk@30821 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-12 09:54:25 +00:00
Scott Taylor
29deacc30c Revisions modules should not rely on global settings:
* Only pass in global settings on `init`, this allows the classes to be used agnostically elsewhere
* Clean up some erroneous/weird Backbone syntax

Props ericlewis, wonderboymusic.
Fixes #30219.

Built from https://develop.svn.wordpress.org/trunk@30131


git-svn-id: http://core.svn.wordpress.org/trunk@30131 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 00:39:24 +00:00
Scott Taylor
d1d93b7cda Set revision.settings via short-circuit check for window property: window._wpRevisionsSettings || {}
Props ericlewis.
Fixes #30218.

Built from https://develop.svn.wordpress.org/trunk@30130


git-svn-id: http://core.svn.wordpress.org/trunk@30130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 00:20:22 +00:00
Scott Taylor
7cbb7552da Allow revision Backbone classes to be used on pages other than revision.php.
Props ericlewis.
Fixes #30221.

Built from https://develop.svn.wordpress.org/trunk@30128


git-svn-id: http://core.svn.wordpress.org/trunk@30128 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 00:08:21 +00:00
Scott Taylor
f1634f7c8f Add some JSDoc blocks to revisions.js.
Props ericlewis.
See #30222.


Built from https://develop.svn.wordpress.org/trunk@30127


git-svn-id: http://core.svn.wordpress.org/trunk@30127 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-31 23:55:22 +00:00
Sergey Biryukov
15f3b73984 Revisions: Explicitly set the 'from' handle position when switching from two-handled mode back to single-handled mode.
props adamsilverstein.
fixes #26793.
Built from https://develop.svn.wordpress.org/trunk@29052


git-svn-id: http://core.svn.wordpress.org/trunk@28840 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-10 01:00:14 +00:00
Andrew Nacin
2abdda257c Remove unused routing code in revisions.
props adamsilverstein.
fixes #26565.

Built from https://develop.svn.wordpress.org/trunk@27273


git-svn-id: http://core.svn.wordpress.org/trunk@27129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 20:07:14 +00:00
Andrew Nacin
d4f8de5c92 Revisions browser: The back button should return to the post you were editing (use replaceState instead of pushState).
props adamsilverstein.
fixes #26997.

Built from https://develop.svn.wordpress.org/trunk@27114


git-svn-id: http://core.svn.wordpress.org/trunk@26981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-06 23:28:12 +00:00
Andrew Nacin
118caf7373 Fix JSHint errors (again) for revisions.js.
props adamsilverstein.
fixes #25955.

Built from https://develop.svn.wordpress.org/trunk@26162


git-svn-id: http://core.svn.wordpress.org/trunk@26073 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-14 05:56:09 +00:00
Andrew Ozz
87570ff683 jshint: fixes for revisions.js, props adamsilverstein, fixes #25864.
Built from https://develop.svn.wordpress.org/trunk@26035


git-svn-id: http://core.svn.wordpress.org/trunk@25964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-07 18:14:10 +00:00
Mark Jaquith
b53325cad3 Revisions: Fix PHP loading of comparison to first revision, and premature rendering of tooltip.
Props aaroncampbell, markjaquith. Fixes #24873 for trunk.

git-svn-id: http://core.svn.wordpress.org/trunk@24864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-29 17:26:03 +00:00
Mark Jaquith
174bbc20d8 Revisions: Combine our tooltip and from/to templates into one generic template
We had three copies of essentially the same template. Now just one, with minor logic inside.

Also fixes a bug where tooltip.revision was being initially set to a diff instead of a revision.

For trunk. See #24804.

git-svn-id: http://core.svn.wordpress.org/trunk@24814 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-28 20:15:28 +00:00
Andrew Nacin
c8fe64a602 Revisions changes.
* Eliminates the bloated Revisions meta box in favor of 'Revisions: #' in the publish box.
 * Adds ability to compare autosave to current post, when revisions are disabled.
 * Makes autosaves stand out visually, including "Restore This Autosave".

Also:
 * Adds missing capability check for restoring a revision.
 * When no revision matches the post's current modified time, avoid marking an autosave as 'current'.
 * Fixes wp_get_post_autosave() to return an autosave even when revisions are disabled.
 * Add 'check_enabled' arg to wp_get_post_revisions(); false avoids the wp_revisions_enabled() check.
 * Adds a responsive slider that is narrower for fewer versions. props markjaquith.

see #24804.



git-svn-id: http://core.svn.wordpress.org/trunk@24790 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-24 06:08:14 +00:00
Mark Jaquith
991bab45a7 Revisions: tweak how tickmarks are rendered, to play nice with browsers who always round subpixel values down (Safari, Opera).
Also, some IE tweaks.

Fixes #24736. Props adamsilverstein, markjaquith, ocean90.

git-svn-id: http://core.svn.wordpress.org/trunk@24768 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-22 21:09:49 +00:00
Mark Jaquith
13c63d211a Revisions: Pinned controls, layout tweaks, copy tweaks, misc.
* 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
2013-07-22 05:05:45 +00:00
Mark Jaquith
65b08eeece Revisions: Re-work how tick marks and tooltips are aligned. IE fixes.
* Pixel-based alignment of tooltips.
* Bottom-based alignment, so arrow lines up using CSS only.
* Better RTL styles (mostly mirror-imaged).
* Better RTL calculations in `revisions.js` (less logic).
* Better IE support.

See #24736. Props markjaquith, adamsilverstein, ocean90.

git-svn-id: http://core.svn.wordpress.org/trunk@24751 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-19 13:49:15 +00:00
Mark Jaquith
93514ba101 Revisions: Better error handling.
* 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
2013-07-18 16:35:19 +00:00
Mark Jaquith
57a2e139de Turn off debug mode in revisions.
See #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-13 02:53:59 +00:00
Mark Jaquith
c48efb30d4 Revisions: RTL tooltip fixes. Plus a fix for switching to compare-two mode while looking at the first revision.
Also, a meta box avatar RTL alignment fix. props DrewAPicture.

Fixes #24739.

git-svn-id: http://core.svn.wordpress.org/trunk@24698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-13 02:49:53 +00:00
Dominik Schilling
8a600bf8a5 Revisions: Disable URL updating if a browser doesn't support the History API. Like IE < 10.
props markjaquith. see #24736.

git-svn-id: http://core.svn.wordpress.org/trunk@24689 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 20:51:10 +00:00
Mark Jaquith
4f1f7ee3f2 Revisions: more graceful tooltips
* 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
2013-07-12 20:34:14 +00:00
Mark Jaquith
19d49d39b0 Revisions: Code and whitespace cleanup.
See #24425.

git-svn-id: http://core.svn.wordpress.org/trunk@24679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 18:14:23 +00:00
Mark Jaquith
9694d47bcf 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: http://core.svn.wordpress.org/trunk@24678 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 17:25:27 +00:00
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