Commit Graph

55 Commits

Author SHA1 Message Date
whyisjake 3dd9628aae Build/Test Tools: Enable JSDocs to be linted with ESLint.
As part of the [Javascript Inline Docs Initiative](https://make.wordpress.org/core/handbook/docs/inline/js/) this add some tooling to lint Javascript docblocks. Two new commands:

* `npm run lint:jsdoc`
* `npm run lint:jsdoc:fix`

The latter will run the linter and try to fix an possible issues automatically.

Fixes #43828.
Props netweb, atimmer, kamataryo, whyisjake.


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


git-svn-id: http://core.svn.wordpress.org/trunk@48412 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-27 23:35:02 +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
Andrew Ozz 77e87830ae TinyMCE: Fix keyboard navigation when the `dfw` button is present but hidden. Ensure that button is added last in the DOM to match where it appears visually.
Props afercia, azaozz.
Fixes #46640.
Built from https://develop.svn.wordpress.org/trunk@45172


git-svn-id: http://core.svn.wordpress.org/trunk@44981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-12 18:08:53 +00:00
Sergey Biryukov 7639acc7b7 Docs: Fix typo in a comment in `editor/dfw.js`.
Props garrett-eclipse, mattnyeus.
Fixes #46485.
Built from https://develop.svn.wordpress.org/trunk@45127


git-svn-id: http://core.svn.wordpress.org/trunk@44936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-07 05:39:50 +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
Scott Taylor 412d5e60be Docs: improve JS docs for `editor-expand.js`
Props IreneYoast, terwdan.
Fixes #41068.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-24 17:48:45 +00:00
Dion Hulse e8211f783a Docs: Correct a number of typos/spelling mistakes in inline comments.
Props ottok.
Fixes #38464.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-25 00:38:35 +00:00
Andrew Ozz bbc12c3dbe Editor: fix jumpiness on pressing backspace and delete in the Text editor.
Fixes #37690 for trunk.
Built from https://develop.svn.wordpress.org/trunk@38426


git-svn-id: http://core.svn.wordpress.org/trunk@38367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 18:40:31 +00:00
Andrew Ozz f78dd6fe2e Editor: prevent jumping when using the backspace button in the Text editor in Firefox and IE.
Fixes #37072.
Built from https://develop.svn.wordpress.org/trunk@37684


git-svn-id: http://core.svn.wordpress.org/trunk@37650 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-11 05:15:27 +00:00
Andrew Ozz 5cdb444009 Editor, editor-expand: adjust the sidebar position when moving a postbox from one column to another.
Fixes #35230.
Built from https://develop.svn.wordpress.org/trunk@37659


git-svn-id: http://core.svn.wordpress.org/trunk@37625 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-08 22:37:29 +00:00
Ella Iseulde Van Dorpe 6b4662ab96 Editor: autoresize fixes for text
* Resize on backspace.
* Don't make it smaller than the minimum height.

Props azaozz, iseulde.

See #36482.


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


git-svn-id: http://core.svn.wordpress.org/trunk@37571 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-01 10:24:30 +00:00
Ella Iseulde Van Dorpe 5502219779 Editor: better resizing for text editor
* Use `scrollHeight` to resize the text editor.
* Don't scroll the cursor into view when under the text editor's toolbar, it
  involves cloning the content which is quite slow.

Props iseulde, azaozz.

See #36482.


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


git-svn-id: http://core.svn.wordpress.org/trunk@37564 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-30 20:32:30 +00:00
Andrew Ozz d529800cba Editor: fix exiting DFW with the keyboard shortcut on Mac (Opt+Ctrl+W).
Fixes #36222.
Built from https://develop.svn.wordpress.org/trunk@37003


git-svn-id: http://core.svn.wordpress.org/trunk@36970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-16 02:48:25 +00:00
Eric Lewis 8592072857 Editor: Fix Mac keyboard shortcut for distraction free writing.
Fixes #36214.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36941 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-12 17:44:26 +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
Andrew Ozz a5cee54aea Emoji: rename the exclude class to wp-exclude-emoji.
Props Clorith. See #32197.
Built from https://develop.svn.wordpress.org/trunk@32337


git-svn-id: http://core.svn.wordpress.org/trunk@32308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-04 00:05:28 +00:00
Andrew Ozz 8eb93bc838 Emoji: add an exclude class to wp-emoji checked when monitoring for changes with mutationObserver. Use it for the hidden div used for resizing the Text editor.
See #32197.
Built from https://develop.svn.wordpress.org/trunk@32336


git-svn-id: http://core.svn.wordpress.org/trunk@32307 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-03 20:18:26 +00:00
Andrew Ozz 6e14ff9234 TinyMCE:
- Abstract the code for creating floating toolbars.
- Introduce `editor.wp` namespace to hold exported methods from our plugins.
- Create the wpView toolbar(s) with the new method. This makes them work the same as the image toolbar: shortcuts, esc key, etc.
Props iseulde. See #30619.
Built from https://develop.svn.wordpress.org/trunk@31725


git-svn-id: http://core.svn.wordpress.org/trunk@31706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-11 19:12:28 +00:00
Andrew Ozz c765424ad5 Editor: prevent errors in editor-expand when the Text editor is not used. Props iseulde, fixes #31163.
Built from https://develop.svn.wordpress.org/trunk@31361


git-svn-id: http://core.svn.wordpress.org/trunk@31342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 22:25:23 +00:00
Andrew Ozz 3324fb71f6 TinyMCE editor-expand: when kitchensink is off hide the statusbar on loading, and when the editor is shorter then the viewport. Props avryl, fixes #30961.
Built from https://develop.svn.wordpress.org/trunk@31118


git-svn-id: http://core.svn.wordpress.org/trunk@31099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-10 01:32:26 +00:00
Andrew Ozz 6bde00ec42 Editor: when switching editor-expand off for the first time use the default editor height. Props avryl, fixes #30760 for trunk.
Built from https://develop.svn.wordpress.org/trunk@30977


git-svn-id: http://core.svn.wordpress.org/trunk@30963 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-20 19:33:23 +00:00
Andrew Nacin 8c3027c3c7 Call it 'Distraction-free writing mode' and update the help string. fixes #30657.
Built from https://develop.svn.wordpress.org/trunk@30890


git-svn-id: http://core.svn.wordpress.org/trunk@30880 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-16 10:07:23 +00:00
Andrew Nacin 5e3e3d0e0f Editor focus: Don't trigger when typing while the mouse is outside the editor.
props avryl.
fixes #20668.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30807 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-11 09:34:26 +00:00
Andrew Ozz 0a199ff4a8 Editor: fix initial state for editor-expand when TinyMCE is disabled or not supported. Props avryl, fixes #30592.
Built from https://develop.svn.wordpress.org/trunk@30743


git-svn-id: http://core.svn.wordpress.org/trunk@30733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-05 01:53:22 +00:00
Andrew Ozz 16e54ae8c0 Editor DFW v2: do not fade out on using keyboard shortcuts in TinyMCE (Alt+Shift+letter).
Fixes #30539.
Built from https://develop.svn.wordpress.org/trunk@30693


git-svn-id: http://core.svn.wordpress.org/trunk@30683 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 22:53:24 +00:00
Andrew Ozz 2808edf7d1 Editor: fix fading out on Escape in DFW v2. props adamsilverstein, fixes #30528.
Built from https://develop.svn.wordpress.org/trunk@30625


git-svn-id: http://core.svn.wordpress.org/trunk@30615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-29 02:45:22 +00:00
Andrew Ozz 9e8f2c7794 Editor: use the Alt+Shift+W keyboard shortcut for new DFW from both the Visual and Text editors. Props afercia, fixes #30450.
Built from https://develop.svn.wordpress.org/trunk@30593


git-svn-id: http://core.svn.wordpress.org/trunk@30583 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-28 01:44:22 +00:00
Andrew Ozz 4d651b90bb Editor: limit scrolling triggered when TinyMCE is auto-resized to 100px. Prevents auto-scrolling on page load. Fixes #30515.
Built from https://develop.svn.wordpress.org/trunk@30586


git-svn-id: http://core.svn.wordpress.org/trunk@30576 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-27 01:00:25 +00:00
Andrew Ozz af1e417d4e Editor:
- Add CSS reset for the TinyMCE fullscreen mode when used on the Edit Post screen.
- Fix loading of the old and new DFW buttons, use another arg. passed to WP_Editors.
- Reset editor-expand when exiting TinyMCE fullscreen mode.
Fixes #30453.
Built from https://develop.svn.wordpress.org/trunk@30573


git-svn-id: http://core.svn.wordpress.org/trunk@30563 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-26 02:50:24 +00:00
Mark Jaquith 7c4b9419f4 Introduce Distraction-Free Writing v2, a re-think of DFW that uses the main editor instance
* the "DFW" button is now an auto/off toggle
* defaulting to auto during beta, decide later for release
* "auto" means that DFW gets enabled as you start typing in editor
* tabbing and mousing out will bring the full interface back
* there is a slight grace period during which your mouse can quickly return

Feature plugin work happened here: https://github.com/avryl/focus

props avryl, azaozz, Michael Arestad
fixes #29806
Built from https://develop.svn.wordpress.org/trunk@30338


git-svn-id: http://core.svn.wordpress.org/trunk@30337 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-13 22:31:22 +00:00
Andrew Ozz 553bb3cf77 Editor-expand:
- Better calculation for the caret position when auto-scrolling while typing.
- Fix auto-scrolling for non-WebKit browsers when the caret is above the top of the editor.
Fixes #29954
Built from https://develop.svn.wordpress.org/trunk@29929


git-svn-id: http://core.svn.wordpress.org/trunk@29681 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-16 21:31:18 +00:00
Andrew Ozz c3b2243a98 Editor-expand: reset the editor height after the window is resized. Fixes #29952 for trunk.
Built from https://develop.svn.wordpress.org/trunk@29886


git-svn-id: http://core.svn.wordpress.org/trunk@29642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-13 21:15:19 +00:00
Andrew Ozz 613571202c Editor expand: hide TinyMCE float panels and tooltips when scrolling, props avryl, fixes #29516 for trunk.
Built from https://develop.svn.wordpress.org/trunk@29738


git-svn-id: http://core.svn.wordpress.org/trunk@29512 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-12 01:21:15 +00:00
Andrew Ozz 86373f3a4b Editor expand: revert back to scrolling to the editor top when switching Visual to Text, fixes #29338
Built from https://develop.svn.wordpress.org/trunk@29698


git-svn-id: http://core.svn.wordpress.org/trunk@29473 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-03 18:04:16 +00:00
Helen Hou-Sandí c8cdcef9be Editor scrolling: Remember and restore scroll position for visual and text modes.
This prevents the editor from jumping off screen when the rendered visual content is significantly taller than plain text, e.g. when there are views present.

This is also a close restoration of 3.9 behavior, some of which was browser-specific.

props avryl.
fixes #29338.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29468 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-03 09:58:16 +00:00
Andrew Nacin 0f73f0bea3 Editor scrolling: Avoid jumping to the cursor when modifier and scrolling keys are pressed.
fixes #29485.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29467 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-03 09:38:16 +00:00
Andrew Ozz 7a82b73837 Editor expand:
- Adjust calculation when comparing sidebar position to wpfooter top. Fixes an annoying jumping when the user scrolls off the bottom.
- Use a var for the 'bottom' distance of the sidebar.
- Fix sidebar pinning when it's height is nearly the same as the viewport height.
Fixes #29349
Built from https://develop.svn.wordpress.org/trunk@29656


git-svn-id: http://core.svn.wordpress.org/trunk@29430 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-01 18:49:15 +00:00
Helen Hou-Sandí c392ff6f90 Editor scrolling: reduce the amount of height jumping on load.
props avryl.
fixes #29307.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29402 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-26 18:39:17 +00:00
Andrew Ozz 488e2aa4cf Editor expand: add border to the Text editor resize helper, helps calculating the height in some cases. Fixes #29225
Built from https://develop.svn.wordpress.org/trunk@29593


git-svn-id: http://core.svn.wordpress.org/trunk@29367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-25 03:43:17 +00:00
Andrew Ozz 58752f91db Editor scrolling: fix window height when switching Visual to Text and the editor is shorter. Props mackensen, fixes #29226.
Built from https://develop.svn.wordpress.org/trunk@29592


git-svn-id: http://core.svn.wordpress.org/trunk@29366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-24 23:12:15 +00:00
Andrew Ozz 61292620c5 Editor scrolling:
- Pin the TinyMCE statusbar (elements path) to the bottom.
- Add support for pinning the menu when present.
- Add borders from CSS.
- Optimize getting most elements outerHeight.
Part props avryl, fixes #29293, see #28328.
Built from https://develop.svn.wordpress.org/trunk@29579


git-svn-id: http://core.svn.wordpress.org/trunk@29353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-24 05:11:16 +00:00
Andrew Ozz 68a3e1af2c Editor scrolling: set max-width: 100% for the text editor clone instead of always resizing it. See #29246.
Built from https://develop.svn.wordpress.org/trunk@29524


git-svn-id: http://core.svn.wordpress.org/trunk@29300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-18 01:13:16 +00:00
Andrew Ozz bae4afab44 Editor scrolling:
- Properly handle change of sidebar height when opening, closing or hiding postboxes.
- Add a flag when to start pinning. Set it to few pixels more than the initial editor height.
See #28328
Built from https://develop.svn.wordpress.org/trunk@29523


git-svn-id: http://core.svn.wordpress.org/trunk@29299 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-18 00:35:18 +00:00
Andrew Ozz 4fc5f9bcca Editor scrolling: always resize the text editor clone so it doesn't "push" the parent's width over 100%, fixes #29246.
Built from https://develop.svn.wordpress.org/trunk@29522


git-svn-id: http://core.svn.wordpress.org/trunk@29298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-17 21:33:15 +00:00
Helen Hou-Sandí da2d975668 Editor scrolling:
* Reduce the starting height of the editor to better match the height at which the top toolbar unpins.
* Pin the side metaboxes so they do not get lost when the editor content is long.
* Turn magic numbers into variables.

props stephdau, azaozz. see #28328.


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


git-svn-id: http://core.svn.wordpress.org/trunk@29273 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-15 03:17:15 +00:00
Andrew Ozz e50ffd401e Editor scrolling: run one more adjust() 200ms after scroll or resize in case the browser is slow to re-calculate the element heights and pin/unpin the toolbars. See #28328, fixes #29059.
Built from https://develop.svn.wordpress.org/trunk@29352


git-svn-id: http://core.svn.wordpress.org/trunk@29128 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-01 21:43:18 +00:00
Andrew Ozz b9886e92e3 Editor scrolling:
- Add a Screen Option to turn it on/off, and on()/off() methods from JS. Store the user preference.
- Fix delayed calls to resize() in the TinyMCE autoresize plugin.
See #28328.
Built from https://develop.svn.wordpress.org/trunk@29336


git-svn-id: http://core.svn.wordpress.org/trunk@29116 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-01 02:43:17 +00:00
Andrew Ozz b9f97e8352 TinyMCE:
- Fix complex character input in Japanese, Chinese, etc. Was broken in getCursorOffset() in editor-expand.js.
- Disable auto-scrolling in some edge cases when editor expanding is enabled.
See #28328.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-26 00:08:19 +00:00