Commit Graph

51 Commits

Author SHA1 Message Date
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
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
2c9a5e3b8b 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31725 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-11 19:11:02 +00:00
Andrew Ozz
01eb7466ae TinyMCE: wpView improvements: introduce getText() and remove() methods, improved getInstance(), better docs. Props iseulde. See #31412.
git-svn-id: https://develop.svn.wordpress.org/trunk@31559 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-26 19:31:27 +00:00
Andrew Ozz
fc6ffd2a83 TinyMCE: wpView improvements: remove the (obsolete) get/setViewText methods. Update stopping/pausing of multiple ME media players. Props iseulde. See #31412.
git-svn-id: https://develop.svn.wordpress.org/trunk@31548 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-26 00:30:35 +00:00
Andrew Ozz
3d36949893 TinyMCE: wpView improvements:
- Better structure, simpler "view" registration, better extensibility.
- Better inline documentation.
- Don't show a placeholder for pasted link until we know the link is "embeddable'.
And many more improvements. Props iseulde. See #31412.

git-svn-id: https://develop.svn.wordpress.org/trunk@31546 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-25 23:12:08 +00:00
Andrew Ozz
43b2de66c6 TinyMCE wpView: when clicking in the editor optimize the caret placement before or after a view. Props avryl, fixes #30938.
git-svn-id: https://develop.svn.wordpress.org/trunk@31143 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-11 20:41:36 +00:00
Andrew Ozz
8298e94bfe TinyMCE wpView: when clicking on the Edit button, move the focus back to the editor before opening the modal. This is needed for IE so TinyMCE can save the proper DOM "bookmark", and makes it possible to move the focus to the modal after it is opened.
See #30817.

git-svn-id: https://develop.svn.wordpress.org/trunk@30986 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-22 21:30:16 +00:00
Andrew Ozz
4eb3c5960f TinyMCE: update the wpView toolbar to look the same as the new image toolbar.
Fixes #30561.

git-svn-id: https://develop.svn.wordpress.org/trunk@30694 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-02 00:25:15 +00:00
Andrew Ozz
27806558a2 TinyMCE wpView: when pasting/inserting content before a view, add new paragraph above it and insert the content there. Props avryl, fixes #29380 for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@29766 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-26 00:20:28 +00:00
Scott Taylor
c88c4d4f21 MCE View sandboxes:
* Use a `MutationObserver` to listen to the `body` class of the parent editor frame.
* In `wpview_media_sandbox_styles()`, only return the MEjs stylesheets.
* In `wp_ajax_parse_media_shortcode()` and `wp_ajax_parse_embed()`, return an object instead of an HTML blob to allow passing `body` and `head` separately	

Props avryl, azaozz.
Fixes #29048.


git-svn-id: https://develop.svn.wordpress.org/trunk@29615 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-26 04:45:54 +00:00
Andrew Ozz
649607b139 TinyMCE wpView: exclude more non-printable keyCodes in isSpecialKey(), fixes #29115
git-svn-id: https://develop.svn.wordpress.org/trunk@29606 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-25 20:40:21 +00:00
Andrew Ozz
cd048c0154 TinyMCE wpView: ignore more keys when the caret is around a view. Part props avryl, fixes #29115.
git-svn-id: https://develop.svn.wordpress.org/trunk@29535 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-19 03:26:14 +00:00
Scott Taylor
36b5f034ab wpviews: whenever a view is updated or inserted, don't refresh ALL of the views.
Props avryl.
Fixes #28788.


git-svn-id: https://develop.svn.wordpress.org/trunk@29530 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-18 03:58:24 +00:00
Andrew Ozz
ed01241d4b TinyMCE: fix the edit image and wpview buttons on touch screen PCs, fixes #29235.
git-svn-id: https://develop.svn.wordpress.org/trunk@29521 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-17 20:10:16 +00:00
Andrew Ozz
5b2ae73e18 TinyMCE: update wpview and editimage plugins for 4.1.3. Add show/hide of the Edit and Delete buttons on views and images on 'touchend'. See #28595, #29166
git-svn-id: https://develop.svn.wordpress.org/trunk@29463 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-10 04:21:46 +00:00
Andrew Ozz
42ac48d52a 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@29302 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-26 00:07:55 +00:00
Andrew Ozz
67032cf170 TinyMCE wpView:
- Fix opening the media modal on clicking Edit in Firefox.
- Fix range errors when restoring the selection bookmark in IE11 after editing a view.
See #28595.

git-svn-id: https://develop.svn.wordpress.org/trunk@29298 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-25 00:55:33 +00:00
azaozz
2d466f4c86 wpView: make sure the editor is focused before selecting/deselecting a view, or IE may throw an invalid range error, see #28595.
git-svn-id: https://develop.svn.wordpress.org/trunk@29273 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-22 21:52:02 +00:00
Andrew Ozz
b53705fa7b TinyMCE wpView: better removal of views, replace a selected view when pasting. Props avryl, fixes #28913.
git-svn-id: https://develop.svn.wordpress.org/trunk@29246 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-19 07:29:34 +00:00
Andrew Ozz
bcff52c1b0 TinyMCE wpView:
- Typing something replaces a selected view.
- Pressing backspace deletes the selection.
- Pressing enter also deletes the selection.
- Pasting something replaces the selection.
- Also merge the different 'keydown' handlers.
Props avryl, fixes #28913.

git-svn-id: https://develop.svn.wordpress.org/trunk@29236 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-19 00:33:46 +00:00
Andrew Ozz
fa4ed6e062 TinyMCE wpView: add noop() when returning early, fixes #28921
git-svn-id: https://develop.svn.wordpress.org/trunk@29190 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-16 17:55:00 +00:00
Andrew Ozz
a90e8c6ff2 TinyMCE wpView: handle execCommand when the "fake caret" P is selected, props avryl, see #28595
git-svn-id: https://develop.svn.wordpress.org/trunk@29184 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-16 02:18:18 +00:00
Andrew Ozz
76c3055aec TinyMCE wpView:
- Cast off commands targeted to a view except undo, redo, RemoveFormat and mceToggleFormat (bold, italic, etc.).
- Disable the link and unlink buttons when a view is selected.
Props avryl, see #28595

git-svn-id: https://develop.svn.wordpress.org/trunk@29183 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-16 00:09:58 +00:00
Andrew Ozz
e7b7e3fa44 TinyMCE wpView: remove unused code, props avryl, see #28595
git-svn-id: https://develop.svn.wordpress.org/trunk@29182 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-15 23:38:33 +00:00
Andrew Ozz
9cc9f95cd2 TinyMCE wpView: better handling of the Enter key, props avryl, see #28595
git-svn-id: https://develop.svn.wordpress.org/trunk@29127 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-13 00:33:58 +00:00
Andrew Ozz
c46233940f TinyMCE wpView: fix selecting views on click, part props avryl, see #28595
git-svn-id: https://develop.svn.wordpress.org/trunk@29126 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-12 22:50:19 +00:00
Andrew Ozz
14d1e57e99 Enhance the editor on the Add/Edit Post screens, first run. Props avril, see #28328.
git-svn-id: https://develop.svn.wordpress.org/trunk@29049 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-09 22:05:06 +00:00
Andrew Ozz
21cd1dffd9 TinyMCE wpView: remove leftover/unused bits, see #28567.
git-svn-id: https://develop.svn.wordpress.org/trunk@29038 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-08 22:55:51 +00:00
Andrew Ozz
49352dbc89 TinyMCE wpView:
- Improve the fake caret hide/show.
- Improve getView() speed.
- Add callback for showing the proper path when a view is selected. This currently doesn't work, will start working after we update TinyMCE.
props avryl, see #28567, #28595.

git-svn-id: https://develop.svn.wordpress.org/trunk@29022 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-08 04:15:00 +00:00
Andrew Ozz
f30a20c9a4 TinyMCE wpView:
- When a view is selected, pressing the up or down arrow key should move the caret to the block above or below the view.
- Selecting some text that touches the view and deleting it should not remove part of the view.
- Show/hide the "fake" carets on editor focus/blur.
- Don't create new paragraphs before or after a view on pressing the arrow keys or delete key. Paragraphs are created on pressing Enter.
Props avryl, see #28595.

git-svn-id: https://develop.svn.wordpress.org/trunk@29010 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-07 01:20:53 +00:00
Andrew Ozz
d12c520c5e Remove debug remnants, see #28595
git-svn-id: https://develop.svn.wordpress.org/trunk@29004 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-05 00:24:05 +00:00
Andrew Ozz
fdb58455f6 TinyMCE: improve the way wpViews work. Add two paragraphs and capture the caret in them on clicking before/after/left/right of a view or moving the caret with the arrow keys, then show a "fake" caret.
This makes it much more "natural" to move the caret with the arrow keys and to add paragraphs before a view when it is the first element or after a view when it's last.

Props avryl, see #28595.

git-svn-id: https://develop.svn.wordpress.org/trunk@28994 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-04 03:58:20 +00:00
Andrew Ozz
09d4b541fb wpView:
- Don't wrap single-line URLs in [embed]. Use them directly in generating a view.
- If the embedding HTML contains a script, "sandbox" it in an iframe to prevent it from changing the editor DOM.
- Automatically add toolbar and overlay when needed.
- Try to embed single-line URLs only if they are pasted in an empty paragraph.
Props avryl, see #28195

git-svn-id: https://develop.svn.wordpress.org/trunk@28748 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-12 02:48:17 +00:00
Andrew Ozz
67639d7e91 wpView: fix deselecting a view when clicking outside the iframe body. Props avryl, fixes #28268
git-svn-id: https://develop.svn.wordpress.org/trunk@28687 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-06 05:03:33 +00:00
Andrew Ozz
b1b0e54f7f wpView: fire a nodeChanged event after selecting a view so the editor UI gets updated. Props avryl, fixes #28385
git-svn-id: https://develop.svn.wordpress.org/trunk@28686 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-06 04:42:34 +00:00
Andrew Ozz
73e4f3e13b wpView: use data-mce-selected instead of adding a class to mark a view as selected. This prevents adding an unneeded undo level. Props avryl, fixes #28313
git-svn-id: https://develop.svn.wordpress.org/trunk@28684 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-06 02:11:02 +00:00
Scott Taylor
a398f38024 First pass at wpview logic for the [embed] shortcode. URLs on a their own line are parsed as well. The toolbar will appear with the "remove" button when the view is clicked. Edit has not been implemented yet.
Props avryl, wonderboymusic.
See #28195.



git-svn-id: https://develop.svn.wordpress.org/trunk@28358 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-10 23:35:08 +00:00
Scott Taylor
4507f1e04f Persisting <track> elements as the body of a [video] shortcode in MCE Views:
* When generating the view's HTML, ensure that the shortcode's `content` is added to the model
* Add a `PostProcess` event in the `wpview` plugin to properly return the shortcode when the editor mode is toggled, ensuring that elements in the body are not dropped.

Props azaozz, wonderboymusic.
See #27915.




git-svn-id: https://develop.svn.wordpress.org/trunk@28183 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-22 18:20:54 +00:00
Andrew Ozz
17a90fff8b TinyMCE wpViews:
- Prevent undo steps from being added when the body of a wpview changes.
- Add unbind() to handle cleanup on DOM rebuilding in TinyMCE.
- Ensure that MediaElement's cleanup routine is run on every player in all instances of the editor.
- Initialize the players after some delay to ensure CSS is loaded.
Props gcorne and wonderboymusic, fixes #27389

git-svn-id: https://develop.svn.wordpress.org/trunk@28084 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-12 00:45:48 +00:00
Andrew Ozz
c90a2a5d3b TinyMCE Views in IE8 and 7: change deselect event only for old IE, props gcorne, fixes #27546
git-svn-id: https://develop.svn.wordpress.org/trunk@28063 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-09 15:28:17 +00:00
Andrew Ozz
b253355d2c Fix TinyMCE Views in IE8 and 7:
- Add fallback background images for dashicons.
- Fix hiding the clipboard while still allowing the contents to be selected.
- Work around lack of border-box in gallery styles.
(Includes precommit cleanup for theme.js)
Props gcorne, fixes 27546

git-svn-id: https://develop.svn.wordpress.org/trunk@28062 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-09 00:57:46 +00:00
Andrew Ozz
9bac9f66d9 wpView: select/deselect views when moving the caret with the arrow keys, don't move the caret after deselect(), props gcorne, see #26959
git-svn-id: https://develop.svn.wordpress.org/trunk@27632 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-20 02:47:15 +00:00
Andrew Ozz
a053f70f11 wpView:
- Makes sure that the editor is focused when clicking on a wpview.
- When a view is the first or last node in the editor and a click on the area around the view adds a new paragraph, deselect the wpview so that the new paragraph is properly focused.
- When navigating via keyboard, select or deselect wpviews as appropriate.
Props gcorne, see #26959

git-svn-id: https://develop.svn.wordpress.org/trunk@27582 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 04:56:27 +00:00
Scott Taylor
b6e2bd9f0e MCE Views: don't (re-)render views if the format of the content is "raw" to avoid adding additional undo levels on undo/redo.
Props gcorne.
Fixes #27416.



git-svn-id: https://develop.svn.wordpress.org/trunk@27544 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-14 20:40:44 +00:00
Andrew Ozz
57ac5b6015 Update mce-view.js and the wpview TinyMCE plugin, and use them to show gallery previews in the Visual editor, props gcorne, see #26959
git-svn-id: https://develop.svn.wordpress.org/trunk@27408 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-05 07:00:18 +00:00
Andrew Ozz
c37a101100 TinyMCE:
- Fix toolbar icons in IE9.
- Remove background gradients in IE < 10.
- Lint our plugins.
- Add draggable attribute to the caption wrapper and make the captioned images non-draggable in Chrome.
See #24067.

git-svn-id: https://develop.svn.wordpress.org/trunk@26880 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-30 01:53:25 +00:00