Commit Graph

588 Commits

Author SHA1 Message Date
Ella Iseulde Van Dorpe fd95002b2a Editor: restructure word count
* The WordCounter should only do one thing: count words. This makes it also easier to test.
* Add some really basic unit tests.
* Instead of only refreshing the count on enter and delete, refresh the count when the user stops typing. Also look at paste and content changes in TinyMCE.
* Use `match` instead of `replace` when it is appropriate.
* More readable code.

See #30966. Fixes #26620.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-19 10:35:26 +00:00
Konstantin Obenland 81df9bffc5 Use https for Google API external libraries.
Google recommends it and users are more likely to have the https version cached in their browser already.

Props rommelxcastro.
Fixes #32552.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32814 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-18 15:51:26 +00:00
Ella Iseulde Van Dorpe ecec2b61cf TinyMCE: wptextpattern: escape should undo
Props azaozz.
See #31441.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32807 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-18 12:59:28 +00:00
Ella Iseulde Van Dorpe 8b6ff40038 TinyMCE: wptextpattern: fix issue that removes content
* If the resulting text node is empty, don't remove all the content from the paragraph.
* If there's an empty text node at the start of the paragraph, ignore it and consider the next node to be the start.

See #31441.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32803 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-18 11:34:25 +00:00
Ella Iseulde Van Dorpe 1c586b9390 TinyMCE: show inline toolbar after scroll/resize
Also:

* Reduce the amount of callbacks.
* Move everything under `preinit` (but prepend to the callback). The API shouldn't be availbale earlier, and some UI is not available yet, neither is `editor.dom`.
* Hide the toolbar if the target is out of view.

See #32604.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-18 11:10:25 +00:00
Ella Iseulde Van Dorpe 8fba763f37 TinyMCE: show active inline toolbar after focus
This makes sure that e.g. the image toolbar shows up again after closing the media library modal.

See #32604.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32789 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 07:08:25 +00:00
Ella Iseulde Van Dorpe c465640107 TinyMCE: wplink: don't link a URL with a pasted URL
Fixes #32357.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32788 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 05:05:24 +00:00
Ella Iseulde Van Dorpe a31d79196d TinyMCE: improve reposition method inline toolbars
* Make sure the toolbar does not overlap the target, unless it is higher than half the visible editor area's height.
* Allow the toolbar to have the preference to position itself above or below the target.
* Cache DOM lookups.
* Simplify the logic and fix various positioning issues.

See #32604.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32787 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-17 04:42:25 +00:00
Ella Iseulde Van Dorpe dd0bff051a TinyMCE: wptextpattern: Add blockquote and headings
As discussed in the editor meeting 9 June.
We should re-evaluate these additions towards the end of the release.

See #31441.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32766 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-16 13:52:25 +00:00
Ella Iseulde Van Dorpe d74a115e21 TinyMCE: wptextpattern: add docs
Props DrewAPicture and iseulde.
See #31441.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-07 20:00:28 +00:00
Ella Iseulde Van Dorpe 6926314730 TinyMCE: wptextpattern: disable for IE 8 and lower
Props azaozz, iseulde.
See #31441.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-06 22:38:28 +00:00
Ella Iseulde Van Dorpe 356fd0ff81 TinyMCE: add wptextpattern plugin
This plugin can automatically format text patterns as you type. It includes two patterns: unordered (`* ` and `- `) and ordered list (`1. ` and `1) `). If the transformation in unwanted, the user can undo the change by pressing backspace, using the undo shortcut, or the undo button in the toolbar.

This is the first TinyMCE plugin that has unit tests and there's some good groundwork for adding tests to existing plugins in the future.

First run. See #31441.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32669 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-06 20:07:24 +00:00
Andrew Ozz 4f9682f39e TinyMCE wpView: preserve HTML wrapped in shortcodes.
Fixes #32078.
Built from https://develop.svn.wordpress.org/trunk@32678


git-svn-id: http://core.svn.wordpress.org/trunk@32648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-01 18:09:26 +00:00
Andrew Ozz b3d04247b7 Editor:
- Remove the old DFW.
- Add back-compat stub for wp-fullscreen.js.
- Keep wp_ajax_wp_fullscreen_save_post() for now.
See #30949.
Built from https://develop.svn.wordpress.org/trunk@32677


git-svn-id: http://core.svn.wordpress.org/trunk@32647 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-01 17:38:29 +00:00
Ella Iseulde Van Dorpe 6e0e924de9 TinyMCE: wpeditimage: trim class
Don't add extra spaces to classes. It causes some tests in the TinyMCE QUnit test suite to fail.

Fixes #31764.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32562 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-25 06:35:28 +00:00
Andrew Nacin b63a76fa4b Fix keyboard shortcut for save from the visual editor.
props iseulde.
see #32122, for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-26 04:51:29 +00:00
Andrew Ozz bafd7b98f6 TinyMCE wpView: properly deselect views when hiding the editor. Do not remove `selected` on PreProcess.
Fixes #32045.
Built from https://develop.svn.wordpress.org/trunk@32257


git-svn-id: http://core.svn.wordpress.org/trunk@32228 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-21 21:32:26 +00:00
Andrew Ozz 955b0bf979 TinyMCE: fix creating a preview when pasting an embeddable URL in Firefox.
Part prop iseulde. Fixes #31988.
Built from https://develop.svn.wordpress.org/trunk@32229


git-svn-id: http://core.svn.wordpress.org/trunk@32203 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-20 20:57:28 +00:00
Andrew Ozz f08c38112b TinyMCE: use window.twemoji directly in the `wpemoji` plugin. Gives a chance to the browser to lazy load twemoji.js when reloading the page.
Fixes #31901.
Built from https://develop.svn.wordpress.org/trunk@32142


git-svn-id: http://core.svn.wordpress.org/trunk@32122 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-18 23:29:26 +00:00
Andrew Ozz 6c5dec8886 TinyMCE: remove the empty paragraph that sometimes is left over after adding an image caption.
Fixes #32003.
Built from https://develop.svn.wordpress.org/trunk@32141


git-svn-id: http://core.svn.wordpress.org/trunk@32121 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-18 21:56:27 +00:00
Andrew Ozz 9891900a82 TinyMCE wpView:
- Remove selected views when inserting content but not when loading all content.
- Remove the ref. to the selected view node on resetting the views.
Fixes #31998.
Built from https://develop.svn.wordpress.org/trunk@32140


git-svn-id: http://core.svn.wordpress.org/trunk@32120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-18 20:48:27 +00:00
Andrew Ozz fd80c0f51f TinyMCE: disable the wp-autoresize plugin in iOS. All iframes there are already expanded to the height of the content document.
Fixes #31937.
Built from https://develop.svn.wordpress.org/trunk@32095


git-svn-id: http://core.svn.wordpress.org/trunk@32074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-09 00:11:27 +00:00
Dominik Schilling 0810c24ff0 Merge strings that describe the same command.
props iseulde.
fixes #31776.
Built from https://develop.svn.wordpress.org/trunk@32078


git-svn-id: http://core.svn.wordpress.org/trunk@32057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-08 16:59:26 +00:00
Andrew Ozz 5493e3249e TinyMCE: fix our shortcuts on Mac, use Ctrl + Opt + letter.
Props iseulde. See #29558.
Built from https://develop.svn.wordpress.org/trunk@32059


git-svn-id: http://core.svn.wordpress.org/trunk@32038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-06 22:51:27 +00:00
Andrew Ozz 0186bbcb95 TinyMCE wpView:
- Fix editor undo levels.
- Remove views and markers in the DOM before serialization.
- Unbind views before removing them on hide.
- Empty the content in the timeout, so it doesn't render iframes twice.
Props iseulde. Fixes #31669.
Built from https://develop.svn.wordpress.org/trunk@32022


git-svn-id: http://core.svn.wordpress.org/trunk@32001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-04 23:00:26 +00:00
Scott Taylor 5855cb0e60 When editing an image from the editor, and the image has a value for alignment (but not for `width` or `caption`), don't bail without first checking that the alignment's value is not `alignnone`. If so, add the `class` to the `<a>` before bailing.
See #21848.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31937 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 16:04:27 +00:00
Andrew Ozz e053979219 Emoji:
- Enhance twemoji.js to support passing of additional attributes for the replacement images.
- Use that to add the needed attributes when replacing emoji inside the editor.
Fixes #31627.
Built from https://develop.svn.wordpress.org/trunk@31948


git-svn-id: http://core.svn.wordpress.org/trunk@31927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 02:39:28 +00:00
Andrew Ozz 5fe7be9757 TinyMCE emoji: fix caret position after replacing emoji in Chrome on Windows 8.
See #31627.
Built from https://develop.svn.wordpress.org/trunk@31946


git-svn-id: http://core.svn.wordpress.org/trunk@31925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-31 23:35:26 +00:00
Andrew Ozz b5643f9a13 TinyMCE wpView: add back the removal of selected views on inserting new content. Was removed when reverting the first fix for embedding of pasted URLs.
Props mattheu. Fixes #31796.
Built from https://develop.svn.wordpress.org/trunk@31931


git-svn-id: http://core.svn.wordpress.org/trunk@31910 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-30 18:22:27 +00:00
Andrew Ozz 8ff664171d Remove unused vars. See #31627.
Built from https://develop.svn.wordpress.org/trunk@31923


git-svn-id: http://core.svn.wordpress.org/trunk@31902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-30 02:50:27 +00:00
Andrew Ozz f128f08c2c TinyMCE emoji: catch the inserting of emoji chars with the Windows 8 onscreen keyboard and replace if needed.
Fixes #31627.
Built from https://develop.svn.wordpress.org/trunk@31922


git-svn-id: http://core.svn.wordpress.org/trunk@31901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-30 02:39:28 +00:00
Andrew Ozz 1b2d93fbca TinyMCE: make sure the editor is not completely empty before checking if the user clicked above or below a wpView.
Fixes #31765.
Built from https://develop.svn.wordpress.org/trunk@31888


git-svn-id: http://core.svn.wordpress.org/trunk@31867 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-25 18:55:29 +00:00
Andrew Ozz 990f1b43a8 TinyMCE: pad empty paragraphs with `<br>` in Chrome to stop it from inserting non-breaking spaces in them.
Props iseulde. Fixes #31255.
Built from https://develop.svn.wordpress.org/trunk@31878


git-svn-id: http://core.svn.wordpress.org/trunk@31857 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-25 01:18:26 +00:00
Andrew Ozz 4bb5d76abc TinyMCE: when pasting an URL, check if the node it is pasted at is empty and remove any empty inline child elements.
Fixes #31158.
Built from https://develop.svn.wordpress.org/trunk@31856


git-svn-id: http://core.svn.wordpress.org/trunk@31835 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-20 20:34:28 +00:00
Andrew Ozz 78f0ca13c5 TinyMCE: revert stripping of tags from pasted URLs on `beforeSetContent` [31817] and [31819]. Clean up URLs on `pastePreProcess`.
See #31158.
Built from https://develop.svn.wordpress.org/trunk@31832


git-svn-id: http://core.svn.wordpress.org/trunk@31814 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-19 07:08:26 +00:00
Andrew Ozz aa9e920e57 TinyMCE: small cleanup for stripping of tags from pasted URLs. See #31158.
Built from https://develop.svn.wordpress.org/trunk@31819


git-svn-id: http://core.svn.wordpress.org/trunk@31801 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-18 20:53:27 +00:00
Andrew Ozz b30d15cd4a TinyMCE: strip tags from pasted URLs before testing if they are embeddable.
Props siobhan, iseulde. Fixes #31158.
Built from https://develop.svn.wordpress.org/trunk@31817


git-svn-id: http://core.svn.wordpress.org/trunk@31799 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-18 20:26:26 +00:00
Andrew Ozz c18ef513a0 Emoji: fix few typos. See #31242.
Built from https://develop.svn.wordpress.org/trunk@31787


git-svn-id: http://core.svn.wordpress.org/trunk@31767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-15 23:29:26 +00:00
Andrew Ozz a7fd4a3774 Emoji:
- Add the styling for the replacement images to the admin CSS.
- Revert to using `.emoji` as replacement image class.
- When pasting in the editor, convert emoji images to our format so we can replace them with chars on saving.
- Some more clean up of both the plugin and wp-emoji.js.
See #31242.
Built from https://develop.svn.wordpress.org/trunk@31786


git-svn-id: http://core.svn.wordpress.org/trunk@31766 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-15 23:16:29 +00:00
Andrew Ozz 8a402aa701 Emoji:
- Move the TinyMCE plugin CSS to wp-content.css.
- Change the replacement images class to `wp-emoji` inside the editor.
- Clean up both the plugin and wp-emoji.js, abstract and restructure a bit.
See #31242.
Built from https://develop.svn.wordpress.org/trunk@31779


git-svn-id: http://core.svn.wordpress.org/trunk@31759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-14 23:49:30 +00:00
Andrew Ozz 731f7c500d TinyMCE: fix emoji parsing in IE typo. See #31242.
Built from https://develop.svn.wordpress.org/trunk@31762


git-svn-id: http://core.svn.wordpress.org/trunk@31743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-12 23:03:26 +00:00
Andrew Ozz b20119d92f TinyMCE: fix emoji parsing in IE. See #31242.
Built from https://develop.svn.wordpress.org/trunk@31761


git-svn-id: http://core.svn.wordpress.org/trunk@31742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-12 23:00:27 +00:00
Gary Pendergast b7546d798f Emoji: Instead of having custom hooks for Ajax callbacks, use MutationObserver to re-parse any changed elements in the DOM.
Props iseulde

See #31242


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


git-svn-id: http://core.svn.wordpress.org/trunk@31731 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-12 12:52:26 +00:00
Andrew Nacin 78679bfb3f Emoji JS cleanup.
* Filename: emoji.js => wp-emoji.js
 * Script handle: emoji => wp-emoji
 * Object: WPEmoji => wp.emoji
 * Script settings: EmojiSettings => _wpemojiSettings
 * Setting key: base_url => baseUrl
 * Remove executable bit from files

see #31242.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-12 03:17:26 +00:00
Andrew Ozz 8b53e5470d TinyMCE: remove blocking of commands on placeholder images. Breaks some execCommand.
Props iseulde. Fixes #31571.
Built from https://develop.svn.wordpress.org/trunk@31738


git-svn-id: http://core.svn.wordpress.org/trunk@31719 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-11 23:33:28 +00:00
Gary Pendergast 46e2a65cf1 Add emoji support, with Twemoji fallback.
Replace exisiting smilies with equivalent emoji, or with shiny new smiley images where no emoji existed.

Props batmoo, joen and mkaz for the original plugin upon which this is based.

Props pento, iseulde, kraftbj and peterwilsoncc for making the internet's dreams come true.

See #31242


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


git-svn-id: http://core.svn.wordpress.org/trunk@31714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-11 22:49:28 +00:00
Andrew Ozz 7d2b380330 TinyMCE: initialize the floating toolbars on preinit so we can attach other events on init.
Props iseulde. Fixes #30619.
Built from https://develop.svn.wordpress.org/trunk@31732


git-svn-id: http://core.svn.wordpress.org/trunk@31713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-11 22:41:26 +00:00
Andrew Ozz 9c09d0ea2c TinyMCE, floating toolbars: return early if no selected element in the editor. See #30619.
Built from https://develop.svn.wordpress.org/trunk@31727


git-svn-id: http://core.svn.wordpress.org/trunk@31708 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-11 20:08:27 +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 eb878043a5 wpLink: change the text label to Link text, always focus the URK field, fix Ctrl/Cmd + K shortcut. See #28206.
Built from https://develop.svn.wordpress.org/trunk@31714


git-svn-id: http://core.svn.wordpress.org/trunk@31695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-11 03:01:27 +00:00