Commit Graph

76 Commits

Author SHA1 Message Date
Andrew Ozz
2dcbd7d3ca TinyMCE: fix the More and Next Page tags behavior:
- Append them inside top level <p> tags.
- If the caret is not in a top level <p>, create new paragraph after the current top level tag.
- Do not change placement when edited in the Text editor.
See #27378

git-svn-id: https://develop.svn.wordpress.org/trunk@27729 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 02:07:23 +00:00
Andrew Ozz
a00d98a8c2 TinyMCE: bring back removal of the size-* class when the user soft-resizes an image, see #24409
git-svn-id: https://develop.svn.wordpress.org/trunk@27694 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 00:15:37 +00:00
Scott Taylor
98921c5ca0 Let us pass jshint:core.
git-svn-id: https://develop.svn.wordpress.org/trunk@27693 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-24 23:01:15 +00:00
Andrew Nacin
71917873d4 Introduce HTML5 caption support.
When a theme supports HTML5 captions via add_theme_support( 'html5', 'caption' ), figure and figcaption will be used instead of div and p.

There's a bonus. But first, some history: Captions were introduced with an inline style set for the container. This remains, as it is there to force captions to wrap. But this inline style included an extra 10 pixels, which have vexxed theme developers for years. While these pixels were designed to ensure padding around floated images, modern themes handle this with grace. The additional pixels thus feel encumbering.

As the new HTML5 gallery support avoids outputting default gallery styles (again, irking theme developers for years; see #26697), the new HTML5 caption support will also ditch these 10 pixels of unwanted hand-holding. 

The 10 pixels are also removed entirely in the visual editor (and more styles may also disappear here; see #26642), giving themes the power necessary to match the frontend styles.

The filter img_caption_shortcode_width added in 3.7 to work around this madness (see #14380) is skipped entirely when the theme supports HTML5 captions.

props obenland, azaozz.
see #26642. also fixes #9066.


git-svn-id: https://develop.svn.wordpress.org/trunk@27668 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-24 02:04:56 +00:00
Scott Taylor
5c0f7ae4fb Unifying media controls and supporting playlists in the editor:
* Support a `caption` attribute for audio and video shortcodes
* In `wp.media.audio|video`, rename `update` to `shortcode` to allow these models to share the same mixins as `wp.media.collection` subclasses
* When sending an audio or video shortcode to the editor, create a default caption if the user hasn't entered one. This currently only displays in the editor, not on the front end. Captions aren't tied to a specific attachment here because external sources are supported.
* In the `wp.mce.media` mixin, in the `edit` method, read `attr` instead of `data` when attempting to parse the encoded shortcode. `data` does not automatically update when the attribute changes. This was a blessing to debug.
* Add `wp.mce.media.PlaylistView` to support playlist views in TinyMCE
* Expose `WPPlaylistView` to global scope and suppress auto-parsing of playlist nodes when in the admin. Allow `WPPlaylistView` to be passed `metadata` on creation instead of requiring a JSON blob to be parsed.
* Remove all of the playlist logic from the `wpgallery` TinyMCE plugin.
* In `wp_prepare_attachment_for_js()` return more data for audio/video so that playlists can have parity in the admin/front end.

See #27320.



git-svn-id: https://develop.svn.wordpress.org/trunk@27640 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-20 13:33:00 +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
Helen Hou-Sandi
d80da6c3f4 Further unify and refine media and view control styling. see #27320.
git-svn-id: https://develop.svn.wordpress.org/trunk@27628 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-20 00:47:21 +00:00
Scott Taylor
ce1c3140ab Add MCE views for audio and video shortcodes. When the shortcode does not contain a source that supports native playback, just show the filename.
* Remove the audio/video shortcode parsing from the `wpgallery` plugin.
* Make `mce-view` a dependency of `media-audiovideo`
* Introduce `wp.mce.video`, `wp.mce.audio`, `wp.mce.media`, and `wp.mce.media.View`
* Rename `wp.media.audio|video.shortcode()` to `wp.media.audio|video.update()` since it is called on Update and returns a `wp.shortcode` object now.
* In `wp.mce.View.render()`, fire a `ready` event when the placeholder is being parsed and pass the current node to the event handler.

See #27389, #27437.



git-svn-id: https://develop.svn.wordpress.org/trunk@27615 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 07:01:56 +00:00
Andrew Ozz
e342b6a3a5 TinyMCE: update to 4.0.20, see #24067
git-svn-id: https://develop.svn.wordpress.org/trunk@27603 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 04:46:01 +00:00
Andrew Ozz
04f3b0e0a5 TinyMCE show/hide toolbar row: fix the value for getUserSetting('hidetb'): 0 == hidden, 1 == visible, see #24067
git-svn-id: https://develop.svn.wordpress.org/trunk@27602 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 02:29:12 +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
Andrew Ozz
30a83e48e2 TinyMCE: move the caption and gallery toolbars to the right, fix selected gallery border/outline, see #27320
git-svn-id: https://develop.svn.wordpress.org/trunk@27579 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 02:29:45 +00:00
Andrew Ozz
20eabd30ef TinyMCE:
- Update the styling of the image caption and gallery toolbars.
- Fix issue where the hidden clipboard div in wpView.
- Switch to using the pencil dashicon for Edit.
- Add `max-width: 100%;` to images in the gallery preview and adjust column widths.
Props cramdesign, mattheu, gcorne, melchoyce, see #27320, fixes #27376, fixes #27354


git-svn-id: https://develop.svn.wordpress.org/trunk@27578 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 00:19:17 +00:00
Andrew Ozz
0fdb6dadfb TinyMCE: add internal command and shortcut (Alt+Shift+X) for toggling <code>. Define a button that can be added to any toolbar as wp_code. See #6113
git-svn-id: https://develop.svn.wordpress.org/trunk@27545 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-14 22:42:59 +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
a33829d1d0 Drag/drop upload: don't trigger on "local" dragging, hide the overlay on click. Props kovshenin, fixes #19845
git-svn-id: https://develop.svn.wordpress.org/trunk@27531 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-14 00:41:12 +00:00
Scott Taylor
bb02b06ad4 Revert [27528] until Flash in Firefox behaves :(
See #27389.



git-svn-id: https://develop.svn.wordpress.org/trunk@27530 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-13 23:38:14 +00:00
Scott Taylor
1c7d92ba50 Add MCE Views for audio and video. Please clear your browser cache so that you get the latest TinyMCE stylesheet.
* Move TinyMCE shortcode handling from `wpgallery` plugin to `mce-view.js`
* Force `preload="none"` when rendering media in the editor to ensure fast loading (I realize this sounds illogical)
* Move audio and video tag builder logic in `media-template.php` into PHP funcs that can be reused by any code passing `data.model` to an Underscore template
* Pause all players when moving between editor tabs and when moving from the editor to editing in the media modal.
* Rename `wp.media.audio|video.shortcode()` to the more appropriate `wp.media.audio|video.update()` that now returns a `wp.shortcode` object instead of a string.
* Add necessary MediaElement css files to `$mce_css`
* In `wp.mce.View.render()`, support multiple instances of the same shortcode
* When rendering `wp.mce.View`s, fire a ready event that passes the current MCE View root element as context 

See #27389.



git-svn-id: https://develop.svn.wordpress.org/trunk@27528 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-13 23:09:06 +00:00
Andrew Ozz
8fc52817b9 TinyMCE modals: re-enable the Close button in charmap, fix arrows in listboxes, add and position dashicons to the menu (when visible), see #26952
git-svn-id: https://develop.svn.wordpress.org/trunk@27513 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-12 08:18:56 +00:00
Scott Taylor
d39e5ecafd Video editing in the media modal:
* Add a state: `Add Subititles`
* Add `text/vtt` to the list of allowed mime-types, files end in `.vtt`. `.srt` files are served as `text/plain`.
* The content body of a video shortcode should be used for adding `<track>` elements only. This happens dynamically in the modal. If added by hand, they can still be parsed and managed.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27481 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 10:31:36 +00:00
Scott Taylor
3c8d2a99f2 Audio/Video shortcodes in the media modal:
* Make a generic model, `wp.media.model.PostMedia`, which replaces `wp.media.model.PostAudio` and `wp.media.model.PostVideo`
* Make a generic library, `wp.media.controller.MediaLibrary`, which replaces `wp.media.controller.ReplaceVideo` and `wp.media.controller.ReplaceAudio`
* `wp.media.controller.MediaLibrary` is used to create new states that want to load a library filtered by type, making it incredibly simple to add states to frames. See `wp.media.view.MediaFrame.VideoDetails` and `wp.media.view.MediaFrame.AudioDetails`.

UX changes:

* Add the ability to manage HTML5 fallbacks - add additional `<source>`s or remove specific `<source>`s
* In the Video Details state, add the ability to select a poster image

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27478 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 05:24:10 +00:00
azaozz
c88f6ba1e9 Set minimum z-index for the TinyMCE modals and adjust the z-index in DFW, see #26952
git-svn-id: https://develop.svn.wordpress.org/trunk@27460 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-08 00:40:03 +00:00
Andrew Ozz
5e5caca113 TinyMCE editimage: show the toolbar on mouseup to avoid accidental clicks on the buttons, fixes #24409
git-svn-id: https://develop.svn.wordpress.org/trunk@27451 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-07 06:33:06 +00:00
Andrew Ozz
5a13b572cb TinyMCE: add Ctrl+K, the "de-facto standard" shortcut to open wpLink, fixes #27305
git-svn-id: https://develop.svn.wordpress.org/trunk@27449 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-07 03:09:00 +00:00
Andrew Ozz
bb00c66c6a TinyMCE:
- Restore the "link" button state to disabled by default and enabled when text or image is selected.
- Remove the (recently added) default `link` plugin, not needed for `wpLink`.
See #27309

git-svn-id: https://develop.svn.wordpress.org/trunk@27447 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-07 02:01:07 +00:00
Scott Taylor
e1773d3a18 Cleanup audio/video shortcodes in the media modal:
* On the controller's `update`, `replace`, and `close` events, call `detach()` on the frame
* Cleanup the HTML ouput of the Underscore templates.
* Move some logic from the Underscore template to the `VideoDetails` view class.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27440 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-06 19:05:11 +00:00
Andrew Ozz
0074157b8d TinyMCE: add the <hr> plugin and button, see #27159
git-svn-id: https://develop.svn.wordpress.org/trunk@27428 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-06 00:53:40 +00:00
Andrew Ozz
e3b214f047 TinyMCE: when parsing [caption] and the width attribute is missing, recreate it from the image tag width, fixes #23103
git-svn-id: https://develop.svn.wordpress.org/trunk@27426 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-06 00:12:08 +00:00
Scott Taylor
0c8f553115 Add TinyMCE placeholders for audio and video shortcodes.
* Add `wp.media.mixin`.
* Add `wp.media.audio` and `wp.media.video`.
* Add `wp.media.model.PostAudio` and `wp.media.model.PostVideo`
* Add `wp.media.controller.AudioDetails` and `wp.media.controller.VideoDetails`.
* Add `wp.media.controller.ReplaceAudio` and `wp.media.controller.ReplaceVideo`.
* Add `wp.media.view.MediaFrame.AudioDetails` and `wp.media.view.MediaFrame.VideoDetails`.
* Add `wp.media.view.AudioDetails` and `wp.media.view.VideoDetails`.
* Update the `wpgallery` TinyMCE plugin.
* Display audio and video players in the media modal when shortcode is clicked.
* Provide a UI to edit shortcode attributes in the media modal.
* Provide a UI to replace the `src` media file in an `audio` or `video` shortcode.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27411 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-05 15:06:00 +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
e5bed6707f TinyMCE: update to 4.0.18, see #24067
git-svn-id: https://develop.svn.wordpress.org/trunk@27387 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-04 01:56:57 +00:00
Andrew Nacin
e5e40644b7 TinyMCE: Propagate the dragover event outside the editor so drag-and-drop uploads can catch it.
props kovshenin.
see #19845.


git-svn-id: https://develop.svn.wordpress.org/trunk@27372 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-03 15:53:52 +00:00
Andrew Ozz
957beec4de Editor: throttle scrolling of the main window when the editor is active and is being scrolled with the mouse wheel or a trackpad, see #27013
git-svn-id: https://develop.svn.wordpress.org/trunk@27368 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-03 02:33:22 +00:00
Andrew Nacin
724ca13549 Remove unnecessary quotes from urls in CSS.
props TobiasBg.
fixes #22476.


git-svn-id: https://develop.svn.wordpress.org/trunk@27289 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-26 17:22:18 +00:00
Andrew Ozz
5e8787d0de When closing the various "edit" media modals, remove the related views elements from the DOM. Props gcorne, fixes #27204.
git-svn-id: https://develop.svn.wordpress.org/trunk@27276 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-25 21:02:22 +00:00
Scott Taylor
9ff3e7c214 Add core support for Playlists and Video Playlists.
* Playlists operate like galleries in the admin. 
* Provide default UI and JS support in themes using MediaElement and Backbone. 
* The shortcodes are clickable, editable, and configurable using the media modal. 
* Playlists support images for each item, whether or not the current theme supports images for `attachment:audio` and `attachment:video`
* Playlists respond to `$content_width` and resize videos accordingly.
* All playlist data is included inline, using a script tag with `type="application/json"`, allowing anyone to unenqueue the WP playlist JS and roll their own.
* Playlist styles are minimal and work out of the box in the last 5 default themes. They inherit and adapt to the current theme's font styles, and their rules are easily overrideable.

See #26631.



git-svn-id: https://develop.svn.wordpress.org/trunk@27239 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-24 18:07:51 +00:00
Andrew Ozz
0d52823908 TinyMCE: style the modals to match WordPress admin (first-run). Fix couple of IE problems in tiny_mce_popup.js. Props avryl, see #26952, see #24067
git-svn-id: https://develop.svn.wordpress.org/trunk@27190 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-18 06:31:30 +00:00
Andrew Ozz
5a9624b834 TinyMCE: when clicking on a character in the Charmap modal, don't close it if the Crtl key is pressed. Makes it possible to insert several special chars in a row. See #27107.
git-svn-id: https://develop.svn.wordpress.org/trunk@27179 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-14 19:19:28 +00:00
Andrew Ozz
f6af16cd76 TinyMCE: add support for audio and video shortcodes without closing, fix jshint warning, see #27016.
git-svn-id: https://develop.svn.wordpress.org/trunk@27177 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-13 20:12:46 +00:00
Andrew Ozz
fcea323396 TinyMCE: add image based placeholders for audio and video shortcodes. Props wonderboymusic, see #27016.
git-svn-id: https://develop.svn.wordpress.org/trunk@27169 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-13 05:09:04 +00:00
Andrew Ozz
94a1bb0485 TinyMCE: fix styling in the Charmap modal so the click targets are as large as the table cells. Remove the "Close" button and close the modal after inserting the special char. Fixes #27107.
git-svn-id: https://develop.svn.wordpress.org/trunk@27165 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-11 23:32:11 +00:00
Andrew Ozz
fd19c371d1 Edit image in TinyMCE:
- Add a "toolbar" at the top of the image with two buttons: Edit and Delete.
- Don't open the edit modal on second click on the image. Makes the "edit" button somewhat pointless and can sometimes trigger after resizing the image.
- When the image has caption: attempt to prevent IE11 from making the caption element resizable and wrapping it in thick border.
- When the caret is inside a caption next to the image, pressing Enter will create a new <p> tag above the caption.
- Hide the image toolbar on drag, cut, align.
Props gcorne, see #24409.

git-svn-id: https://develop.svn.wordpress.org/trunk@27159 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-10 23:47:34 +00:00
Andrew Ozz
4d7d68b565 Fix scrolling inside the Visual editor on MacOS, add the same functionality to the Text editor, see #27013
git-svn-id: https://develop.svn.wordpress.org/trunk@27110 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-06 19:33:13 +00:00
Andrew Ozz
5a3fb502cb TinyMCE: set the proper caption width when clicking image resize handle on image with caption. Props gcorne, fixes #27009, see #24067.
git-svn-id: https://develop.svn.wordpress.org/trunk@27098 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-05 02:06:10 +00:00
Andrew Ozz
89b8edf8f1 TinyMCE: don't scroll the main window when scrolling the editor content with a mouse wheel or trackpad and reaching the end. Fixes #27013.
git-svn-id: https://develop.svn.wordpress.org/trunk@27095 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-05 01:09:42 +00:00
Andrew Ozz
840423ea10 Minor cleanup (jshint) of wp-fullscreen.js and /wordpress/plugin.js, see #24067
git-svn-id: https://develop.svn.wordpress.org/trunk@27085 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-03 21:30:25 +00:00
Andrew Ozz
c24e451ae3 TinyMCE: don't replace <i> with <em> and <b> with <strong> and don't remove them when empty, see #24067, see #23037.
git-svn-id: https://develop.svn.wordpress.org/trunk@27083 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-03 20:25:08 +00:00
Andrew Ozz
01da73ac78 TinyMCE: update to 4.0.16, see #24067.
git-svn-id: https://develop.svn.wordpress.org/trunk@27062 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-31 18:57:45 +00:00
Andrew Ozz
ced0079d88 TinyMCE: update to 4.0.14. Remove the fix for using init.setup in old plugins, now fixed upstream. See #24067.
git-svn-id: https://develop.svn.wordpress.org/trunk@27060 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-31 00:05:17 +00:00
Andrew Ozz
5bb6b2ecec TinyMCE: fix Ctrl + s shortcut (trigger autosave), see #24067.
git-svn-id: https://develop.svn.wordpress.org/trunk@27052 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-28 23:28:36 +00:00