154 Commits

Author SHA1 Message Date
Scott Taylor
882df9f94a Favor escaping over interpolation in Underscore templates for media. Translate some strings directly instead of passing via JS.
Props nacin.
See #27574.



git-svn-id: https://develop.svn.wordpress.org/trunk@27868 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-31 05:12:29 +00:00
Scott Taylor
0e188eba96 When creating a new playlist, we don't know from the model what "type" it is right away (there is no longer a video-playlist shortcode) - we need to check the controller's library's prop for type when deciding what settings to display in the modal.
See #27535.



git-svn-id: https://develop.svn.wordpress.org/trunk@27812 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 12:36:41 +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
Scott Taylor
c411ad4cba When labeling Show Tracklist for playlist settings, use Show Video List when the playlist is video.
Fixes #27535.



git-svn-id: https://develop.svn.wordpress.org/trunk@27796 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 21:09:39 +00:00
Scott Taylor
75ee98cb25 Remove tracknumbers from the UI, can still be overridden as a playlist shortcode attribute.
See #27535.



git-svn-id: https://develop.svn.wordpress.org/trunk@27793 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 20:26:24 +00:00
Scott Taylor
9384ee1bf3 There is no more video-playlist shortcode. To use video, it is now [playlist type="video" ....]. Also deleting core playlist styles. The style attribute is still supported, defaulting to light. Our core style support was 4-5 CSS rules.
See #27552. Leaving open for comments and potential bugs.



git-svn-id: https://develop.svn.wordpress.org/trunk@27785 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 17:57:30 +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
Scott Taylor
61228a9c0f Don't display the "Show Artist Name in Tracklist" input in settings for Video Playlists.
See #27535.



git-svn-id: https://develop.svn.wordpress.org/trunk@27751 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 22:11:06 +00:00
Scott Taylor
323f9c0eb9 Don't make mce-view a dependency for media-audiovideo. Make media-audiovideo and wp-playlist dependencies for mce-view and only enqueue mce-view in the admin in wp_enqueue_media(). MCE views don't need to be included when media is loaded on the front end.
Fixes #27509.



git-svn-id: https://develop.svn.wordpress.org/trunk@27733 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 12:10:21 +00:00
Drew Jaynes (DrewAPicture)
0e7a34444d Correct misleading verbiage in 'print' hook docs.
Standardizes 'print' hook docs on the concept that hooks are fired when scripts and styles are printed.

Props ericlewis for the initial patch.
Fixes #26924.


git-svn-id: https://develop.svn.wordpress.org/trunk@27695 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-25 08:04:44 +00:00
Scott Taylor
559cccfdd1 When an HTML5 fallback button is pressed in the Audio or Video Details state, filter the library by that specific mime-type when the Add Audio|Video Source is activated.
See #27389.



git-svn-id: https://develop.svn.wordpress.org/trunk@27658 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-23 03:15:35 +00:00
Andrew Ozz
7dbbebeb43 Move the styling of drag/drop on the editor uploading to media-views.css, see #27465
git-svn-id: https://develop.svn.wordpress.org/trunk@27656 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-23 01:41:21 +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
nacin
fe3404bdf1 Merge two strings. see #27320, #27453.
git-svn-id: https://develop.svn.wordpress.org/trunk@27645 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-21 00:18:02 +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
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
Andrew Nacin
0b74a67262 Only enqueue the image editor in the media modal in the admin.
props gcorne.
see #21811.


git-svn-id: https://develop.svn.wordpress.org/trunk@27625 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 21:15:50 +00:00
Andrew Nacin
8c3ac32372 More translation cleanups.
Affects widgets (see #27112), custom headers (see #21785), theme installer (see #27055, reverts [27614]), and some media stuff. Untranslates some complicated strings that need additional study.

see #27453.


git-svn-id: https://develop.svn.wordpress.org/trunk@27620 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 08:17:08 +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
Scott Taylor
54c541cfc6 Create a new file, media-audiovideo.js, to house all of the audio and video JS code in core.
UX Changes:
* Don't add a menu item for "Add Audio|Video Source"
* In the Audio|Video Details modal, add buttons and some suggestive text for adding alternate playback sources
* Don't show "Create Audio|Video Playlist" menu items until the user has uploaded audio or video files

See #27437.



git-svn-id: https://develop.svn.wordpress.org/trunk@27608 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 05:30:27 +00:00
Andrew Ozz
8e403519db TinyMCE gallery preview: fix errors when an image doesn't have/is smaller than thumbnail size, props gcorne, see #26959
git-svn-id: https://develop.svn.wordpress.org/trunk@27580 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-18 03:24:17 +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
Scott Taylor
4a2ffa917c When rendering Underscore templates for Audio/Video details, use 2 new PHP functions to render the markup for audio and video tags: wp_underscore_audio_template() and wp_underscore_video_template().
Future JS templates can follow the convention of expecting `data` to be passed to them containing a `model` property.

See #27389.



git-svn-id: https://develop.svn.wordpress.org/trunk@27533 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-14 12:19:40 +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
Scott Taylor
b005551879 A string was missing its translation wrapper in the Underscore template for video details.
Props Jayjdk.
See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27490 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-10 00:18:12 +00:00
Scott Taylor
c2cd0d6215 Add a filter and document it: playlist_styles. Allows users to roll their own playlist themes.
Props DrewAPicture for the docs.
See #26631.



git-svn-id: https://develop.svn.wordpress.org/trunk@27488 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 23:36:57 +00:00
Scott Taylor
975cf5574a Update the UI styles for Playlist Settings.
Props melchoyce for the design.
See #26631.



git-svn-id: https://develop.svn.wordpress.org/trunk@27487 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 23:18:06 +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
29e2d9f66a Since audio and video shortcodes don't point at actual attachments, don't persist the library's selection. Move the media instructions in the block that scrolls.
See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27480 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 06:23:18 +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
Scott Taylor
67512aa18a Audio/Video shortcodes in the media modal:
* Add `embedMimes` to `_wpMediaViewsL10n`
* Use `escape` instead of `interpolate` when setting attributes in Underscore templates
* When creating the `<audio>` and `<video>` tags dynamically, set inner `<source>` nodes instead of the `src` attribute and properly set the mime-type per source as the `type` attribute. This is also drastically reduces the amount of code used to generate the tags.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27476 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 01:00:53 +00:00
Scott Taylor
a8bc73c543 When MEDIA_TRASH is true, show the proper context in the attachment-details sidebar. Without this fix, it always showed "Delete Permanently."
Props toszcze.
Fixes #26783.



git-svn-id: https://develop.svn.wordpress.org/trunk@27454 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-07 16:41:49 +00:00
Scott Taylor
0143c2d90a Videos in the media modal:
* Support rendering of chromeless YouTube when a video shortcode's `src` is a YouTube URL. 
* Don't instantiate an instance of `MediaElementPlayer` until after the view has been attached to the DOM and the view's `ready` event has fired.
* Don't set `poster` for videos when its value is empty. Much like `src` in the `img` tag - when empty, it will assume and load the current window's URL.
* When removing a player instance, don't call the `pause` method if the playback is not native.

See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27452 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-07 08:31:57 +00:00
Helen Hou-Sandi
55e1b4c982 At long last, a first pass at bringing the image editor into the media modal. props gcorne, DH-Shredder, tomauger. see #21811.
git-svn-id: https://develop.svn.wordpress.org/trunk@27445 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-06 22:54:32 +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
Scott Taylor
7a6744a93c Ensure that all a/v attribute names have a leading space when the tags are dynamically-generated via Underscore templates.
See #27016.



git-svn-id: https://develop.svn.wordpress.org/trunk@27421 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-05 21:45:13 +00:00
Scott Taylor
5efb7cde7e Add a timestamp to the urls passed to <audio> and <video> in the modal to ensure that cached view instances aren't referenced by MEjs. Pause the player when closing the controller's modal.
See #27016, #26779.



git-svn-id: https://develop.svn.wordpress.org/trunk@27420 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-05 21:36:32 +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
Sergey Biryukov
d87cac2093 Use esc_attr_e() instead of _e() for attribute values.
props DJPaul.
fixes #27274.

git-svn-id: https://develop.svn.wordpress.org/trunk@27400 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-04 21:09:32 +00:00
Andrew Nacin
f3a23fb43f Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc.
props Ipstenu, markjaquith.
see #27115.


git-svn-id: https://develop.svn.wordpress.org/trunk@27369 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-03 02:33:24 +00:00
Andrew Nacin
2b03ef73ae Add the ability to drag and drop files directly onto the editor.
The file will then begin to upload and the media manager will open.

props kovshenin.
see #19845.


git-svn-id: https://develop.svn.wordpress.org/trunk@27343 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-01 21:33:36 +00:00
Andrew Ozz
11586e8ebe Upgrade Plupload to 2.1.1, props kovshenin, see #25663
git-svn-id: https://develop.svn.wordpress.org/trunk@27316 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-27 20:00:55 +00:00
Scott Taylor
7092b31e2f wp.media.collection should be its own civilized instantiable class, not a wrapper/factory. The class shall contain no reference to specific instances, and shall not try to grab static properties of itself. self, meet this.
See #26631.



git-svn-id: https://develop.svn.wordpress.org/trunk@27313 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-27 19:21:04 +00:00
Scott Taylor
5ead62b90c Load default settings state when creating a new playlist in the media modal. Add a few missing inline @this annotations in media-editor.js.
See #26631.



git-svn-id: https://develop.svn.wordpress.org/trunk@27242 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-24 20:25:54 +00:00
Drew Jaynes
2a900a80a1 Spacing fixes for code introduced in [27239].
See #26631


git-svn-id: https://develop.svn.wordpress.org/trunk@27241 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-24 19:49:12 +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
0ae2aa696a Remove a stray </div> from the Edit Image template, was breaking it in IE < 9. Props gcorne, see #24409
git-svn-id: https://develop.svn.wordpress.org/trunk@27143 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-09 18:44:40 +00:00
Scott Taylor
031414171e For starters, [27050] is rad. This just cleans up some extra new lines that were littered about, updates *some* of the inline docs (needs more), moves wp.media.controller.ImageDetails closer to its parent class, and de-dupes some code in media-template.php.
See #24409.



git-svn-id: https://develop.svn.wordpress.org/trunk@27051 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-28 23:20:04 +00:00