Commit Graph

124 Commits

Author SHA1 Message Date
Sergey Biryukov 1aca7e8b25 Editor: Correct the check for unsaved content in `wp.autosave.server.postChanged()`.
This fixes improper triggering of the "Are you sure?" prompt when navigating away from the old, "classic" Edit Post screen and there are no changes.

The previous check did not account for Pages or any custom post types that don't have a Title, Content, or Excerpt field.

Follow-up to [50031].

Props hwk-fr, mukesh27, audrasjb, archon810, Clorith, ibiza69, tonysandwich, roger995, bartosz777, viablethought, dbtedg, worldedu, hmabpera, magnuswebdesign.
Fixes #52440.
Built from https://develop.svn.wordpress.org/trunk@50232


git-svn-id: http://core.svn.wordpress.org/trunk@49893 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-06 14:16:07 +00:00
Andrew Ozz 71ae342050 Editor: Fix improper triggering of the "Are you sure" prompt when navigating away from the old, "classic" Edit Post screen and there are no changes. Was triggered when there is an instance of TinyMCE in the Excerpt postbox.
Props rodrigosprimo, jonathanstegall, kevin940726, azaozz.
Fixes #52038.
Built from https://develop.svn.wordpress.org/trunk@49807


git-svn-id: http://core.svn.wordpress.org/trunk@49530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-12-16 15:25:09 +00:00
Sergey Biryukov 249451fe08 Docs: Correct formatting for the `autosave()` function return value in `js/_enqueues/wp/autosave.js`.
Props dilipbheda, mukesh27.
Fixes #51401.
Built from https://develop.svn.wordpress.org/trunk@49065


git-svn-id: http://core.svn.wordpress.org/trunk@48827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-09-28 10:46:05 +00:00
Sergey Biryukov 001ffe81fb Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.
Built from https://develop.svn.wordpress.org/trunk@47122


git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
Sergey Biryukov 2a0489ec49 Docs: Replace `@returns` tags in JS docs with `@return`.
Per the documentation standards, `@returns` is an unsupported synonym, `@return` should be used instead:
https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/javascript/

See #48303.
Built from https://develop.svn.wordpress.org/trunk@46800


git-svn-id: http://core.svn.wordpress.org/trunk@46600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-29 18:01:03 +00:00
atimmer bde558be2f Docs: Add file doc `@output` annotations.
These annotations make it clear to the reader of a JavaScript source
where the build process outputs to. These annotations can later be
integrated in a webpack configuration. This way there is one source of
truth.

The `build` folder is omitted from the paths, because a single JS file
shouldn't not be responsible of knowing where outputs in general will
end up at. A file only knows its output location relative to the
project.

Props adamsilverstein, herregroen, omarreiss, pento.
Fixes #44361.

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


git-svn-id: http://core.svn.wordpress.org/trunk@43175 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-06-28 02:30:15 +00:00
atimmer f6a37e7d39 Docs: Remove `@summary` tags from JSDoc.
As decided in the JavaScript core chat. With a few reasons:

* It is visually cleaner when reading the source.
* This bring the JavaScript documentation closer to the PHP documentation.

The only disadvantage is that the JSDoc parser doesn't split out the summary and the description in the new format. We've decided to solve this when building the JavaScript documentation parser.

Props herregroen.
Fixes #42901.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42240 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-18 14:14:53 +00:00
Adam Silverstein 8a23b80b56 Docs: JSDoc improvements for namespaces.
Improve JS parsing of our inline JSDocs by introducing `@namespace`, `@lends` and `@memberOf`. Helps set the way for showing our JavaScript documentation on developer.wordpress.org, see https://meta.trac.wordpress.org/ticket/3063.

* Define all used namespaces using @namespace.
* Correctly specify in which namespace each class is using @memberOf.
* Define each usage of the extend function as a prototype assignment using @lends.
* Some comment blocks were moved to correct the parsing of certain definitions. 

Props herregroen, atimmer, netweb, SergeyBiryukov.  
Fixes #41682.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41184 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-08 18:42:49 +00:00
Adam Silverstein a806e2d3b3 Docs: Improve JavaScript documentation in autosave.js.
Add and improve JSDOC blocks.

Props carolinegeven.
Fixes #41203.



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


git-svn-id: http://core.svn.wordpress.org/trunk@41105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-18 14:24:45 +00:00
Andrea Fercia 7a60d6571c Accessibility: Remove inappropriate content from the Posts and Edit screens headings.
Props grahamarmfield, SergeyBiryukov, trishasalas, valendesigns, rianrietveld, afercia.

See #26601.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-27 20:39:39 +00:00
Andrew Ozz c8d203e1a3 Autosave: improve the notice when the sessionStorage autosave is different than the content.
- Make it higher priority than the server autosave.
- Change it so the editors undo and redo can be used.
- Replace the restore link with a button.
- Add better explanation/help.

See #37025.
Built from https://develop.svn.wordpress.org/trunk@37737


git-svn-id: http://core.svn.wordpress.org/trunk@37702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-17 03:02:29 +00:00
Andrea Fercia 27e5599bf7 Admin: fix repositioning of notices when the first header is not an immediate children of `.wrap`.
Props DvanKooten for the initial patch.
Fixes #35047 for trunk.
Built from https://develop.svn.wordpress.org/trunk@36134


git-svn-id: http://core.svn.wordpress.org/trunk@36100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-31 11:05:31 +00:00
Ella Iseulde Van Dorpe 47e364de42 Admin: fix repositioning notices
Fixes #34294.
Props afercia.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-17 07:04:26 +00:00
John Blackbourn 9bf86a74d0 Set the `secure` flag on the `wp-saving-post` cookie when using HTTPS.
This cookie doesn't contain any sensitive information, but this change brings its behaviour in line with all other core cookies.

Fixes #31056

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


git-svn-id: http://core.svn.wordpress.org/trunk@33996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 22:42:23 +00:00
Helen Hou-Sandí 97b412af37 Admin notices: Add more variety and make more generically usable.
There is now a base class of `notice`, with additional classes of `notice-success`, `notice-warning`, `notice-error`, and a new blue `notice-info`.

Also corrects some misleading notice colors, such as plugin tested up to warnings and login messages.

props avryl, melchoyce.
fixes #27418.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-21 16:41:25 +00:00
Andrew Ozz 3d60d9f875 Autosave: prevent setting multiple stale `wp-saving-post-*` cookies when the browser disregards "session cookies" expiration on quit:
- Add expiration time of 24 hours for these cookies.
- Rename them to `wp-saving-post` (no post_id) so there is never more than one cookie per domain.
Fixes #29294.
Built from https://develop.svn.wordpress.org/trunk@29572


git-svn-id: http://core.svn.wordpress.org/trunk@29346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-22 00:25:16 +00:00
Andrew Ozz 100e5ca40b Autosave: always expose the `wp.autosave.local` methods, fixes #28924.
Built from https://develop.svn.wordpress.org/trunk@29192


git-svn-id: http://core.svn.wordpress.org/trunk@28976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-16 18:34:16 +00:00
Andrew Nacin 07f8c619bd Back compat for overriding window.autosave.
props azaozz.
fixes #25272.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27552 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 16:47:15 +00:00
Andrew Nacin 9edfc740fd Autosave: Fix typo in event namespace. props avryl, see #25272.
Built from https://develop.svn.wordpress.org/trunk@27092


git-svn-id: http://core.svn.wordpress.org/trunk@26964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-04 16:07:12 +00:00
Andrew Ozz 864ab9ae56 Autosave:
- Move the 'Saving post' and 'Draft saved at...' strings from autosaveL10n to postL10n as they are used only there.
- Use the custom jQuery events 'before-autosave' and 'after-autosave' to show these messages.
- Separate autosave.suspend() for local and server so local autosaves can continue while server autosaves are suspended.
- Remove the recently added autosave.server.disable() and use autosave.server.suspend() instead.
- Bring back .button.disabled, button-primary.disabled and use .disabled to prevent multiple form submissions.
See #25272.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26914 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-27 00:28:13 +00:00
Andrew Ozz 335add2573 Autosave: refactor autosave.js, use heartbeat for transport and move all "Add/Edit Post" related functionality to post.js. See #25272.
Built from https://develop.svn.wordpress.org/trunk@26995


git-svn-id: http://core.svn.wordpress.org/trunk@26872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-22 04:56:16 +00:00
Andrew Ozz 855889f7aa TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876


git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-28 23:53:15 +00:00
Andrew Nacin 1a7610a34d Fix JSHint errors in autosave.js.
props seanchayes.
fixes #26035.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-15 05:20:10 +00:00
Andrew Nacin ede8b8db88 Have heartbeat's connection lost notice handle 503 errors send by the upgrader's maintenance mode.
fixes #25660 for 3.7.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 23:00:09 +00:00
Andrew Nacin 8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Andrew Nacin ffd7f53bcf Have heartbeat's connection lost notice handle 503 errors send by the upgrader's maintenance mode.
fixes #25660 for 3.7.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25786 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 21:27:09 +00:00
Andrew Nacin 23bc457498 Avoid racing TinyMCE, which avoids the creation of unnecessary autosaves. props azaozz. see #7392.
git-svn-id: http://core.svn.wordpress.org/trunk@24849 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-29 03:37:14 +00:00
Andrew Nacin 85cf232e23 Autosave: Don't save an autosave unnecessarily when the post editor loads and TinyMCE is the default editor.
Delete such useless autosaves when we detect them in edit-form-advanced.php.

see #7392.



git-svn-id: http://core.svn.wordpress.org/trunk@24787 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-24 05:37:53 +00:00
Andrew Nacin bbc4aa5317 Autosave:
* Remove editor.js as a dependency for autosave.js, as it was in 3.5.
 * Remove heartbeat.js as an implicit dependency.
 * Abstract out the serialization of title/content/excerpt for comparisons.

props azaozz.
fixes #24756.



git-svn-id: http://core.svn.wordpress.org/trunk@24774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-23 03:05:21 +00:00
Andrew Nacin 30344d57b8 Simplify heartbeat API.
* Move to a method to check connection errors, a better framework for future changes.
 * Remove start(), stop(), autostart.

props carldanley.
fixes #23216.



git-svn-id: http://core.svn.wordpress.org/trunk@24749 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-19 01:39:48 +00:00
Andrew Nacin 4c17aa3707 Post type support for local autosaves. props azaozz. see #24756.
git-svn-id: http://core.svn.wordpress.org/trunk@24747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-19 00:22:22 +00:00
Andrew Nacin 5bb2f20164 Better 'Connection lost' notice that includes an indication of activity. fixes #24695.
git-svn-id: http://core.svn.wordpress.org/trunk@24743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-18 21:33:59 +00:00
Mark Jaquith 367e456472 Only add the autosave notice to the first `<h2>` on the page.
Props azaozz. See #24755.

git-svn-id: http://core.svn.wordpress.org/trunk@24710 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-16 13:03:22 +00:00
Andrew Nacin a9a0d3b27d For an intermittent connection, only disable save and publish buttons when the request times out. An error still means a we have a connection.
props azaozz.
see #24695.



git-svn-id: http://core.svn.wordpress.org/trunk@24691 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 21:07:44 +00:00
Andrew Ozz aff66a7d07 Autosave: properly set autosaveLast when TinyMCE is the default editor. Prevents firing autosave when there are no changes. See #23220
git-svn-id: http://core.svn.wordpress.org/trunk@24431 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-09 00:45:01 +00:00
Andrew Ozz 27865da7a9 Remove saving of post_format in autosave and revisions, fixes #24455
git-svn-id: http://core.svn.wordpress.org/trunk@24397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-02 01:29:44 +00:00
Andrew Ozz f17d4bf90f Local autosaves: always set 'autosave = true' in the post data when triggering local autosave on form submit. Fixes cases where the form is submitted shortly after loading the Edit screen, local autosave hasn't run yet and there is no previous data to be merged. Fixes #23960.
git-svn-id: http://core.svn.wordpress.org/trunk@24328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-22 21:43:45 +00:00
Andrew Ozz a5da49fb85 Local autosaves: remove debug logging, see #23220
git-svn-id: http://core.svn.wordpress.org/trunk@24269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-15 23:26:36 +00:00
Andrew Ozz 4facd0d567 Local autosaves: show the notice above the post formats UI, see #23220
git-svn-id: http://core.svn.wordpress.org/trunk@24221 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-09 18:23:05 +00:00
Andrew Ozz d0c5c59c94 Post locks and autosave:
- Move nonces refreshing from autosave to lock checking.
- Do autosave only when there is something to save.
See #23295

git-svn-id: http://core.svn.wordpress.org/trunk@24209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-08 22:52:55 +00:00
Andrew Ozz d2a8f064aa Post locks:
- Show 'Saving revision...' while autosaving after a post has been taken over. Change to 'Your latest changes were saved as a revision.' when autosave completes.
- Make sure a user exists before using $user->display_name.
- Add 'post_lock_text' action for extending the message text.

git-svn-id: http://core.svn.wordpress.org/trunk@24042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-22 03:08:51 +00:00
Mark Jaquith 412161de03 Standardize post format postmeta keys around the ones already used by the Crowd Favorite plugin.
props wonderboymusic. fixes #24010.

git-svn-id: http://core.svn.wordpress.org/trunk@24021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 20:57:44 +00:00
Andrew Ozz 33dd4b3d69 Revisions:
- Store the post format as meta on revisions (including autosaves).
- Add post formats data (post meta) when autosaving.
- Only add non-empty post formats data to revisions.
- Correct the post format when previewing a published post.
Props kovshenin, see #19570, see #20564.


git-svn-id: http://core.svn.wordpress.org/trunk@23928 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-06 23:18:52 +00:00
Andrew Ozz 2466f6a726 Autosave: use heartbeat to determine when connection is lost and disable the Save and Publish buttons. Re-enable the buttons when connection is restored. Props dh-shredder, see #23220
git-svn-id: http://core.svn.wordpress.org/trunk@23886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-02 22:51:09 +00:00
Mark Jaquith c93e0231af Post Format UI.
* Icons
* Selection
* Prompt text
* Special fields
* Styling
* Sparkles

This is going to need testing, polish, and love.

see #19570. props melchoyce, helen, wonderboymusic, lessbloat, rachelbaker, aaroncampbell, DrewAPicture, ryelle.

git-svn-id: http://core.svn.wordpress.org/trunk@23843 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-29 03:35:41 +00:00
Andrew Ozz 94553917a1 Local autosave: remove the locally stored data after a post is saved. This prevents false positives when several users edit the same post multiple times. See #23220
git-svn-id: http://core.svn.wordpress.org/trunk@23796 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-25 23:43:06 +00:00
Andrew Ozz 30ad180d6a Create one autosave per user rather than a single autosave for all users. Remove unused code from autosave.js and wp_ajax_autosave(). See #23665.
git-svn-id: http://core.svn.wordpress.org/trunk@23735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-16 21:15:43 +00:00
Andrew Ozz 9a695d70bf Local autosave: remove the temp cookie after first use. Prevents false negative if the browser crashes. Add some temp logging to aid testing. See #23220
git-svn-id: http://core.svn.wordpress.org/trunk@23705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-15 06:15:14 +00:00
Mark Jaquith 6cfdb8a0e2 Wrap self.run in an anonymous function wrapper so self always gets the same scope.
props azaozz. fixes #23780

git-svn-id: http://core.svn.wordpress.org/trunk@23703 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-15 02:32:05 +00:00
Andrew Ozz a224d8aaf7 Local autosave: set a temp cookie on submitting the form and change it on redirecting after the post is saved/updated, then use it to determine if saving worked properly. Removes the chance for false positives after saving/updating a post. See #23220
git-svn-id: http://core.svn.wordpress.org/trunk@23693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-14 03:06:07 +00:00