Commit Graph

251 Commits

Author SHA1 Message Date
Ella Iseulde Van Dorpe
ed5625f831 TinyMCE: wplink: add inline toolbar
Now the URL can be viewed as soon as you put the cursor in an anchor tag. Clicking on it will open the page in a new tab. You also have the edit and remove button close at hand.

First run.
See #32604.


git-svn-id: https://develop.svn.wordpress.org/trunk@32931 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-24 23:04:46 +00:00
Andrew Ozz
e366658072 Update the TinyMCE initialization:
- Replace `wp_htmledit_pre()` and `wp_richedit_pre()` with `format_for_editor()`.
- Replace the `'htmledit_pre'` and `'richedit_pre'` filters with `'format_for_editor'`.
- Do not run the post content through `wpautop()` in PHP when the visual editor is default. Run the textarea content through the JS wpautop on initializing TinyMCE.
- Simplify both editors initialization.
- Improve setting of `wpActiveEditor` in Quicktags.
- Improve editor.js, use `tinymce.$` when possible.
See #32425.

git-svn-id: https://develop.svn.wordpress.org/trunk@32899 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-21 22:00:42 +00:00
Ella Iseulde Van Dorpe
fa5ec5077b 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@32856 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-19 10:34:59 +00:00
Konstantin Obenland
2ae17175b2 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@32843 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-18 15:50:42 +00:00
Ella Iseulde Van Dorpe
9941421f72 TinyMCE: wptextpattern: escape should undo
Props azaozz.
See #31441.


git-svn-id: https://develop.svn.wordpress.org/trunk@32836 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-18 12:58:07 +00:00
Ella Iseulde Van Dorpe
fa1a214eb6 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@32832 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-18 11:33:11 +00:00
Ella Iseulde Van Dorpe
b1446f4221 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@32831 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-18 11:09:56 +00:00
Ella Iseulde Van Dorpe
361e7d9717 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@32818 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-17 07:07:50 +00:00
Ella Iseulde Van Dorpe
f81208f55a TinyMCE: wplink: don't link a URL with a pasted URL
Fixes #32357.



git-svn-id: https://develop.svn.wordpress.org/trunk@32817 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-17 05:04:23 +00:00
Ella Iseulde Van Dorpe
33e63b7bda 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@32816 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-17 04:41:59 +00:00
Ella Iseulde Van Dorpe
a65f178bbb 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@32795 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-16 13:51:37 +00:00
Ella Iseulde Van Dorpe
fc74e695f5 TinyMCE: wptextpattern: add docs
Props DrewAPicture and iseulde.
See #31441.


git-svn-id: https://develop.svn.wordpress.org/trunk@32703 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-07 19:59:11 +00:00
Ella Iseulde Van Dorpe
b866b19a20 TinyMCE: wptextpattern: disable for IE 8 and lower
Props azaozz, iseulde.
See #31441.


git-svn-id: https://develop.svn.wordpress.org/trunk@32700 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-06 22:37:13 +00:00
Ella Iseulde Van Dorpe
5bac5f7ccd 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@32699 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-06 20:07:00 +00:00
Andrew Ozz
b513402c28 TinyMCE wpView: preserve HTML wrapped in shortcodes.
Fixes #32078.

git-svn-id: https://develop.svn.wordpress.org/trunk@32678 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-01 18:08:19 +00:00
Andrew Ozz
156df52851 Editor:
- Remove the old DFW.
- Add back-compat stub for wp-fullscreen.js.
- Keep wp_ajax_wp_fullscreen_save_post() for now.
See #30949.

git-svn-id: https://develop.svn.wordpress.org/trunk@32677 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-01 17:37:14 +00:00
Ella Iseulde Van Dorpe
1e6be9cd89 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@32592 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-25 06:34:27 +00:00
Andrew Nacin
29718f1c28 Fix keyboard shortcut for save from the visual editor.
props iseulde.
see #32122, for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@32295 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-26 04:50:41 +00:00
Andrew Ozz
312edcbc9d TinyMCE wpView: properly deselect views when hiding the editor. Do not remove selected on PreProcess.
Fixes #32045.

git-svn-id: https://develop.svn.wordpress.org/trunk@32257 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-21 21:31:26 +00:00
Andrew Ozz
10bf8967d2 TinyMCE: fix creating a preview when pasting an embeddable URL in Firefox.
Part prop iseulde. Fixes #31988.

git-svn-id: https://develop.svn.wordpress.org/trunk@32229 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-20 20:56:10 +00:00
Andrew Ozz
b7817247c5 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@32142 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-18 23:28:11 +00:00
Andrew Ozz
ab5685e6ad TinyMCE: remove the empty paragraph that sometimes is left over after adding an image caption.
Fixes #32003.

git-svn-id: https://develop.svn.wordpress.org/trunk@32141 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-18 21:55:45 +00:00
Andrew Ozz
9781cdb9a3 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@32140 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-18 20:47:04 +00:00
Andrew Ozz
01da3522f6 TinyMCE: disable the wp-autoresize plugin in iOS. All iframes there are already expanded to the height of the content document.
Fixes #31937.

git-svn-id: https://develop.svn.wordpress.org/trunk@32095 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-09 00:10:23 +00:00
Dominik Schilling (ocean90)
1ad5acb6a1 Merge strings that describe the same command.
props iseulde.
fixes #31776.

git-svn-id: https://develop.svn.wordpress.org/trunk@32078 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-08 16:58:13 +00:00
Andrew Ozz
d9fe0232fb TinyMCE: fix our shortcuts on Mac, use Ctrl + Opt + letter.
Props iseulde. See #29558.

git-svn-id: https://develop.svn.wordpress.org/trunk@32059 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-06 22:50:28 +00:00
Andrew Ozz
3265aad744 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@32022 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-04 22:59:07 +00:00
Scott Taylor
bbfabf7fb5 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@31958 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 16:03:36 +00:00
Andrew Ozz
235b83b4c0 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31948 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 02:38:25 +00:00
Andrew Ozz
29093fe8dc TinyMCE emoji: fix caret position after replacing emoji in Chrome on Windows 8.
See #31627.

git-svn-id: https://develop.svn.wordpress.org/trunk@31946 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-31 23:34:23 +00:00
Andrew Ozz
ae1538daed 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31931 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-30 18:21:56 +00:00
Andrew Ozz
c932690b40 Remove unused vars. See #31627.
git-svn-id: https://develop.svn.wordpress.org/trunk@31923 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-30 02:49:23 +00:00
Andrew Ozz
867237ca49 TinyMCE emoji: catch the inserting of emoji chars with the Windows 8 onscreen keyboard and replace if needed.
Fixes #31627.

git-svn-id: https://develop.svn.wordpress.org/trunk@31922 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-30 02:38:26 +00:00
Andrew Ozz
e12762a76c TinyMCE: make sure the editor is not completely empty before checking if the user clicked above or below a wpView.
Fixes #31765.

git-svn-id: https://develop.svn.wordpress.org/trunk@31888 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-25 18:54:22 +00:00
Andrew Ozz
f6e1aeee60 TinyMCE: pad empty paragraphs with <br> in Chrome to stop it from inserting non-breaking spaces in them.
Props iseulde. Fixes #31255.

git-svn-id: https://develop.svn.wordpress.org/trunk@31878 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-25 01:17:04 +00:00
Andrew Ozz
e0e4780c9d TinyMCE: when pasting an URL, check if the node it is pasted at is empty and remove any empty inline child elements.
Fixes #31158.

git-svn-id: https://develop.svn.wordpress.org/trunk@31856 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-20 20:33:55 +00:00
Andrew Ozz
e977f42a66 TinyMCE: revert stripping of tags from pasted URLs on beforeSetContent [31817] and [31819]. Clean up URLs on pastePreProcess.
See #31158.

git-svn-id: https://develop.svn.wordpress.org/trunk@31832 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-19 07:07:48 +00:00
Andrew Ozz
639f5228c3 TinyMCE: small cleanup for stripping of tags from pasted URLs. See #31158.
git-svn-id: https://develop.svn.wordpress.org/trunk@31819 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-18 20:52:35 +00:00
Andrew Ozz
25a5f07d51 TinyMCE: strip tags from pasted URLs before testing if they are embeddable.
Props siobhan, iseulde. Fixes #31158.

git-svn-id: https://develop.svn.wordpress.org/trunk@31817 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-18 20:25:09 +00:00
Andrew Ozz
f078bc93aa Emoji: fix few typos. See #31242.
git-svn-id: https://develop.svn.wordpress.org/trunk@31787 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-15 23:28:04 +00:00
Andrew Ozz
005ff9a8c8 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31786 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-15 23:15:28 +00:00
Andrew Ozz
59b22c284d 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31779 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-14 23:49:00 +00:00
Andrew Ozz
5cfe554773 TinyMCE: fix emoji parsing in IE typo. See #31242.
git-svn-id: https://develop.svn.wordpress.org/trunk@31762 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-12 23:02:08 +00:00
Andrew Ozz
29cca14491 TinyMCE: fix emoji parsing in IE. See #31242.
git-svn-id: https://develop.svn.wordpress.org/trunk@31761 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-12 22:59:41 +00:00
Gary Pendergast
37bee1ed3a Emoji: Instead of having custom hooks for Ajax callbacks, use MutationObserver to re-parse any changed elements in the DOM.
Props iseulde

See #31242



git-svn-id: https://develop.svn.wordpress.org/trunk@31750 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-12 12:51:06 +00:00
Andrew Nacin
a5cd4f6284 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@31744 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-12 03:16:51 +00:00
Andrew Ozz
6d9c5ea526 TinyMCE: remove blocking of commands on placeholder images. Breaks some execCommand.
Props iseulde. Fixes #31571.

git-svn-id: https://develop.svn.wordpress.org/trunk@31738 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-11 23:32:44 +00:00
Gary Pendergast
ae391ec226 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



git-svn-id: https://develop.svn.wordpress.org/trunk@31733 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-11 22:48:16 +00:00
Andrew Ozz
1c1e5f377f TinyMCE: initialize the floating toolbars on preinit so we can attach other events on init.
Props iseulde. Fixes #30619.

git-svn-id: https://develop.svn.wordpress.org/trunk@31732 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-11 22:40:56 +00:00
Andrew Ozz
3b585cd9ca TinyMCE, floating toolbars: return early if no selected element in the editor. See #30619.
git-svn-id: https://develop.svn.wordpress.org/trunk@31727 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-11 20:07:54 +00:00