Commit Graph

255 Commits

Author SHA1 Message Date
Andrew Ozz
d4f99c2142 Edit Image modal:
- Move all advanced options under a single “Show advanced options” toggle that mirrors the behavior and look-and-feel of the wplink modal.
- Switch to using <select> for the Size and Link To.
- Bring back the field for CSS Class for the image, but don’t incorporate the internally managed WordPress classes (size-, wp-image-, etc…).
- On larger screen sizes, float labels to the left. When the width drops below 900px, stack the label above the fields.
- Keep image at top on screen sizes where the two columns are stacked into a single column.
- Don't replace the nodes in the editor DOM so we don't stomp on any custom attributes that the user may have added via the Text editor or some other mechanism.
Props gcorne, see #27366

git-svn-id: https://develop.svn.wordpress.org/trunk@27898 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 01:53:56 +00:00
Andrew Ozz
5977c4332e TinyMCE: update to 4.0.21, see #24067
git-svn-id: https://develop.svn.wordpress.org/trunk@27897 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-01 22:46:00 +00:00
Andrew Ozz
d6e6560980 Editor:
- Use standard button styles for the Quicktags buttons.
- Better style for the TinyMCE buttons (hover/focus/active/disabled).
- Move the fullscreen (DFW) button to the right.
- Better style for the Visual/Text buttons in DFW.
Props avryl, see #27279

git-svn-id: https://develop.svn.wordpress.org/trunk@27857 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-29 23:57:13 +00:00
Andrew Ozz
bbe59d0487 Edit Image modal:
- Bring back some of the advanced settings.
- Make the layout two-column for wider screens, remove the sidebar, and shrink the modal a bit.
- The image reflects the size as inserted in the post as long as it doesn't overflow the column and is not too tall. Changing the size to another intermediate will also update the image "preview."
- Rename "Edit Image" to "Edit Original" to try and better communicate that editing the image will modify the media library item not just the image inserted into the post that is being edited.
(updates two PNGs from precommit)
Props gcorne, see #27366

git-svn-id: https://develop.svn.wordpress.org/trunk@27797 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 22:40:06 +00:00
Helen Hou-Sandi
1959b1379b Affix the audio view toolbar to the bottom as opposed to the top of the view. Otherwise it's not accessible when the view is the first item in the content. Said views keep a newline underneath, so there's space for it to appear there instead. fixes #27548, see #27320.
git-svn-id: https://develop.svn.wordpress.org/trunk@27792 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 20:09:38 +00:00
Scott Taylor
8312fca652 Make sure Playlist states that are audio are marked as such with proper localized strings.
See #27554.


git-svn-id: https://develop.svn.wordpress.org/trunk@27789 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 18:36:03 +00:00
Andrew Nacin
c5717f0aa1 Remove the TinyMCE image toolbar when the image is deleted via the keyboard.
props gcorne.
fixes #27527.


git-svn-id: https://develop.svn.wordpress.org/trunk@27786 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 18:06:13 +00:00
Andrew Nacin
ccf21196cb Remove unused JS variables after [27770]. see #27013.
git-svn-id: https://develop.svn.wordpress.org/trunk@27783 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 17:31:00 +00:00
Helen Hou-Sandi
5db0c45614 MCE view controls:
* Move controls back over to the left, as they were before. Wide images and muscle memory have been causing frustration.
* Improve the experience and unify the UI of media view controls. Audio and video views now require an initial click to select before further interaction.
* CSS clean up and organization.

fixes #27320, #27542.


git-svn-id: https://develop.svn.wordpress.org/trunk@27777 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 07:01:38 +00:00
Andrew Ozz
1c0d6827f5 Remove containment of scrolling inside the editor for now. See #27013
git-svn-id: https://develop.svn.wordpress.org/trunk@27770 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 02:34:25 +00:00
Helen Hou-Sandi
efec2a916c Better, more consistent styling for plugin details Thickbox and TinyMCE help.
props avryl. fixes #26952.


git-svn-id: https://develop.svn.wordpress.org/trunk@27765 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 00:07:05 +00:00
Andrew Ozz
a8fe109dcd Add the 'attachment_' prefix to caption IDs after editing, see #24409
git-svn-id: https://develop.svn.wordpress.org/trunk@27764 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 00:06:50 +00:00
Andrew Nacin
6b9eccd1f0 Add an .html4-captions class to the editor when HTML5 captions are not supported, for theme use.
see #26642.


git-svn-id: https://develop.svn.wordpress.org/trunk@27758 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 23:12:48 +00:00
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
d534c8c3eb When inserting a video shortcode into the editor, set the poster attribute automatically if the video has a featured image attached to it.
See #27460.



git-svn-id: https://develop.svn.wordpress.org/trunk@27659 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-23 03:35:50 +00:00
Scott Taylor
42e7ed7c78 General code cleanup and improving video sizing in the admin:
* Abstract the setting of a primary button and its callback in `wp.media.view.MediaFrame.MediaDetails`
* Account for the existence or non-existence of `$content_width` in the TinyMCE views for video
* Make sure video models always have dimensions, even if they are the defaults
* For browsers that are not Firefox, don't use a timeout when setting the `MediaElementPlayer` instance in TinyMCE views

See #27320.



git-svn-id: https://develop.svn.wordpress.org/trunk@27655 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-22 23:25:08 +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
15e74ab98a wpView: don't overlap floated elements, see #26959
git-svn-id: https://develop.svn.wordpress.org/trunk@27601 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 01:15:59 +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
Scott Taylor
86722dfaaa Load MediaElement's CSS when TinyMCE is loaded via $mce_css in editor_settings(). Add some baseline styles in wp-content.css for audio, video, and embed tags to ensure their max-width is 100%, regardless of whether MEjs is implemented in TinyMCE.
See #27389.



git-svn-id: https://develop.svn.wordpress.org/trunk@27534 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-14 12:33:24 +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
3efb4694ab TinyMCE: remove border-radius and padding from placeholder images, props avryl, see #27106
git-svn-id: https://develop.svn.wordpress.org/trunk@27427 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-06 00:28:57 +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
6beddbe7de Restyles the modal for attaching media to posts, take II (also some autoprefixer and imagemin). Props avryl, see #26952.
git-svn-id: https://develop.svn.wordpress.org/trunk@27403 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-05 03:53:19 +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