Commit Graph

73 Commits

Author SHA1 Message Date
Scott Taylor 16f93f3952 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.


Built from https://develop.svn.wordpress.org/trunk@27659


git-svn-id: http://core.svn.wordpress.org/trunk@27502 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-23 03:36:15 +00:00
Scott Taylor 615dd5331b 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.


Built from https://develop.svn.wordpress.org/trunk@27640


git-svn-id: http://core.svn.wordpress.org/trunk@27483 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-20 13:33:14 +00:00
Scott Taylor a17dd704c4 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.


Built from https://develop.svn.wordpress.org/trunk@27608


git-svn-id: http://core.svn.wordpress.org/trunk@27451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-19 05:31:15 +00:00
Scott Taylor 12034fcc59 In `wp.media.mixin`, add `ua` and a `compat` map to separate and clarify browser detection and support. Leverage Underscore list iterators in `isCompatible()`.
See #27389.


Built from https://develop.svn.wordpress.org/trunk@27542


git-svn-id: http://core.svn.wordpress.org/trunk@27385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 20:26:15 +00:00
Scott Taylor bd4085fac3 The `canPlayType` property for audio and video in JS is so bad that the official valid responses are "probably" and "maybe". There are many cases where we might want to know if an audio|video tag is gonna blow up in our face before even attempting to make a `MediaElementPlayer` instance out of it.
The best (and most cautious) way to tackle this is to whitelist types by browser. Imagine that one implemented MEjs in TinyMCE's rich editor mode, this would be very helpful.

Add `isCompatible( $media )` to `wp.media.mixin`. Future features will use this.

See #27389.


Built from https://develop.svn.wordpress.org/trunk@27539


git-svn-id: http://core.svn.wordpress.org/trunk@27382 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 14:36:14 +00:00
Scott Taylor 117d1bd31e Move `removePlayer()` and `unsetPlayer()` to `wp.media.mixin` so that other classes can take advantage of them.
* `removePlayer()` is an alternative to MediaElement's player removal method that does not re-add the audio|video element back to the DOM.
* `unsetPlayer()` will check for an existing `player` property on the passed instance and pause all players before calling `unsetPlayer()`

See #27389.


Built from https://develop.svn.wordpress.org/trunk@27538


git-svn-id: http://core.svn.wordpress.org/trunk@27381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 13:48:15 +00:00
Scott Taylor 9432aaca82 Rather than extending `wp.media.mixin`, only borrow `coerce` when necessary in `wp.media.audio|video|collection`. `wp.media.mixin` will make sense to be mixed in for classes that expect to interact with the player. More universal methods can be added and inherited by all those who extend their prototype with it.
Assuming someone had implemented players in the editor, pause all players when switching between editor tabs. A method, `pauseAllPlayers`, has been added to `wp.media.mixin`.

See #27389.


Built from https://develop.svn.wordpress.org/trunk@27537


git-svn-id: http://core.svn.wordpress.org/trunk@27380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 13:17:16 +00:00
Scott Taylor b4569b69dc Revert [27528] until Flash in Firefox behaves :(
See #27389.


Built from https://develop.svn.wordpress.org/trunk@27530


git-svn-id: http://core.svn.wordpress.org/trunk@27373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 23:39:16 +00:00
Scott Taylor ba84f57083 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.


Built from https://develop.svn.wordpress.org/trunk@27528


git-svn-id: http://core.svn.wordpress.org/trunk@27371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 23:10:14 +00:00
Scott Taylor f078f3e10e 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.


Built from https://develop.svn.wordpress.org/trunk@27481


git-svn-id: http://core.svn.wordpress.org/trunk@27325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 10:32:15 +00:00
Helen Hou-Sandí 4bb7e03548 At long last, a first pass at bringing the image editor into the media modal. props gcorne, DH-Shredder, tomauger. see #21811.
Built from https://develop.svn.wordpress.org/trunk@27445


git-svn-id: http://core.svn.wordpress.org/trunk@27292 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-06 22:55:14 +00:00
Scott Taylor ff8844deae 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.


Built from https://develop.svn.wordpress.org/trunk@27411


git-svn-id: http://core.svn.wordpress.org/trunk@27258 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 15:06:14 +00:00
Andrew Nacin 482856e2e1 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.

Built from https://develop.svn.wordpress.org/trunk@27343


git-svn-id: http://core.svn.wordpress.org/trunk@27195 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-01 21:34:17 +00:00
Scott Taylor db1a8785b5 Some playlist cleanup:
* Check properties against the `window` object when using `_.isUndefined()` on globals
* Fix a typo for `$safe_type` introduced in [27311]

See #26631.


Built from https://develop.svn.wordpress.org/trunk@27320


git-svn-id: http://core.svn.wordpress.org/trunk@27172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 21:38:17 +00:00
Scott Taylor cf1d899cc8 In `media-editor.js`, use `_.isUndefined()` when available.
See #26631.


Built from https://develop.svn.wordpress.org/trunk@27317


git-svn-id: http://core.svn.wordpress.org/trunk@27169 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 20:11:14 +00:00
Scott Taylor 45e748e57e `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.


Built from https://develop.svn.wordpress.org/trunk@27313


git-svn-id: http://core.svn.wordpress.org/trunk@27166 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 19:22:14 +00:00
Scott Taylor 8a4ef32f7a Populate playlist setting values with their default value if they don't exist while parsing shortcode attributes.
Props kovshenin.
See #26631.


Built from https://develop.svn.wordpress.org/trunk@27308


git-svn-id: http://core.svn.wordpress.org/trunk@27161 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 02:55:13 +00:00
Scott Taylor c0379aaafc 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.


Built from https://develop.svn.wordpress.org/trunk@27242


git-svn-id: http://core.svn.wordpress.org/trunk@27099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-24 20:26:14 +00:00
Scott Taylor 943f295d2e 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.


Built from https://develop.svn.wordpress.org/trunk@27239


git-svn-id: http://core.svn.wordpress.org/trunk@27096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-24 18:08:16 +00:00
Scott Taylor 5d15ed5202 Access class directly instead of using `this` in the `shortcodeAttrs` method of any factory-generated `wp.media.collection`.
Fixes #27183.


Built from https://develop.svn.wordpress.org/trunk@27238


git-svn-id: http://core.svn.wordpress.org/trunk@27095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-24 13:01:14 +00:00
Scott Taylor 911442cdab Replace the current `wp.media.gallery` instance in `media-editor.js` with one that leverages `wp.media.collection`.
See #26631.


Built from https://develop.svn.wordpress.org/trunk@27213


git-svn-id: http://core.svn.wordpress.org/trunk@27070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-20 18:13:14 +00:00
Scott Taylor 08b1c1b0f5 Add an abstraction of the gallery code in `media-editor.js` called `wp.media.collection`. This will be the basis for parsing `[gallery]`-like shortcodes in the media editor (thing playlists, collections of PDFs, etc).
There are currently no instances of this. Those will be forthcoming.

See #26631.


Built from https://develop.svn.wordpress.org/trunk@27212


git-svn-id: http://core.svn.wordpress.org/trunk@27069 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-20 18:07:12 +00:00
Scott Taylor f850ddd4f8 Add inline docs to each method of the namespaced objects in `media-editor.js`, explaining what each does. Add inline docs to params as well.
See #26870.


Built from https://develop.svn.wordpress.org/trunk@27005


git-svn-id: http://core.svn.wordpress.org/trunk@26882 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-22 18:38:11 +00:00
Scott Taylor 60986d43b4 Remove debug cruft.
Props nacin.
See #26870.


Built from https://develop.svn.wordpress.org/trunk@26990


git-svn-id: http://core.svn.wordpress.org/trunk@26867 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-21 16:31:11 +00:00
Scott Taylor f473d5eef2 Disambiguate `this` and use the `@this` annotation in `media-editor.js`. This will become way more necessary in other places, but a few examples here show how confusing it can be.
See #26870.


Built from https://develop.svn.wordpress.org/trunk@26989


git-svn-id: http://core.svn.wordpress.org/trunk@26866 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-21 16:30:11 +00:00
Andrew Ozz 71101bc9e2 TinyMCE: fix `send_to_editor()`. It no longer needs to replace shortcode strings with html placeholers before inserting them in the editor. This is handled properly by the editor's `'BeforeSetContent'` event callbacks. See #24067.
Built from https://develop.svn.wordpress.org/trunk@26945


git-svn-id: http://core.svn.wordpress.org/trunk@26824 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-14 23:35:11 +00:00
Andrew Ozz 855889f7aa TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876


git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-28 23:53:15 +00:00
Andrew Nacin d8564963b8 Temporarily remove CSS preprocessing until we can get our Ruby dependency sorted out.
see #25858, #22862.

Built from https://develop.svn.wordpress.org/trunk@26143


git-svn-id: http://core.svn.wordpress.org/trunk@26054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-13 21:45:11 +00:00
Helen Hou-Sandí 437caa9972 Turns out it helps if you add those pesky Sass files if you're going to use a preprocessor. see #25858.
Built from https://develop.svn.wordpress.org/trunk@26139


git-svn-id: http://core.svn.wordpress.org/trunk@26050 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-13 19:54:14 +00:00
Andrew Nacin de7977d66c Move upgrader_process_complete for core to its proper place in Core_Upgrader.
This means it will be firing as a JS redirect is taking place if the update is from pre-3.4. Acceptable.

props dd32.
fixes #25659.

Built from https://develop.svn.wordpress.org/trunk@25861


git-svn-id: http://core.svn.wordpress.org/trunk@25861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:58:23 +00:00
Drew Jaynes 4d1482cd0d Inline documentation for the `WP_Date_Query` class in wp-includes/date.php.
- Adds a complete hash notation for the `WP_Date_Query` arguments array.
- Adds missing documentation for the `date_query_valid_columns` and `get_date_sql` filter hooks.

Props aeg0125 for the incremental patches.
Fixes #25552.

Built from https://develop.svn.wordpress.org/trunk@25860


git-svn-id: http://core.svn.wordpress.org/trunk@25860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:58:12 +00:00
Andrew Nacin a30d69e534 Prevent the removal of a manual 'orderby' attribute in the gallery shortcode.
props nofearinc.
fixes #24868.

Built from https://develop.svn.wordpress.org/trunk@25720


git-svn-id: http://core.svn.wordpress.org/trunk@25633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-07 19:02:10 +00:00
Bot (Assets) 6e798324e9 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.


Built from https://develop.svn.wordpress.org/trunk@25001


git-svn-id: http://core.svn.wordpress.org/trunk@25001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-07 05:49:02 +00:00
Bot (Assets) 3e4a6f1364 Compress scripts/styles: 3.6-RC1-24778.
git-svn-id: http://core.svn.wordpress.org/trunk@24778 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-23 06:25:03 +00:00
Bot (Assets) 68ec768ba3 Compress scripts/styles: 3.6-beta4-24523.
git-svn-id: http://core.svn.wordpress.org/trunk@24523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-27 18:25:01 +00:00
Bot (Assets) a95909e425 Compress scripts/styles: 3.6-beta3-24450.
git-svn-id: http://core.svn.wordpress.org/trunk@24450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-19 22:58:57 +00:00
Bot (Assets) e2100436b4 Compress scripts/styles: 3.6-beta2-24163.
git-svn-id: http://core.svn.wordpress.org/trunk@24163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-02 22:58:59 +00:00
Bot (Assets) fd68455222 Compress scripts/styles: 3.6-beta1-24090.
git-svn-id: http://core.svn.wordpress.org/trunk@24090 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-25 06:58:41 +00:00
Bot (Assets) 81b300582e Compress scripts/styles: 3.6-beta1-24018.
git-svn-id: http://core.svn.wordpress.org/trunk@24018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 18:58:38 +00:00
Bot (Assets) db4df8ab8b Compress scripts/styles: 3.6-beta1-24010.
git-svn-id: http://core.svn.wordpress.org/trunk@24010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 13:51:57 +00:00
Bot (Assets) 3841d591e6 Compress scripts/styles: 3.6-beta1-24008.
git-svn-id: http://core.svn.wordpress.org/trunk@24008 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 06:58:39 +00:00
Bot (Assets) aa441349c8 Compress scripts/styles: 3.6-beta1-23970.
git-svn-id: http://core.svn.wordpress.org/trunk@23970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-11 22:58:39 +00:00
Bot (Assets) 9b90808fe9 Compress scripts/styles: 3.6-alpha-23875.
git-svn-id: http://core.svn.wordpress.org/trunk@23875 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-29 20:58:38 +00:00
Bot (Assets) 7a5b2c1e81 Compress scripts/styles: 3.6-alpha-23731.
git-svn-id: http://core.svn.wordpress.org/trunk@23731 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-16 06:58:41 +00:00
Bot (Assets) b1adfbb54a Compress scripts/styles: 3.6-alpha-23386.
git-svn-id: http://core.svn.wordpress.org/trunk@23386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-04 14:38:03 +00:00
Bot (Assets) f454df9cdd Compress scripts/styles: 3.6-alpha-23266.
git-svn-id: http://core.svn.wordpress.org/trunk@23266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 17:39:23 +00:00
Bot (Assets) ed9743d358 Compress scripts/styles: 3.6-alpha-23257.
git-svn-id: http://core.svn.wordpress.org/trunk@23257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-03 22:58:37 +00:00
Bot (Assets) 601825e9d3 Compress scripts/styles: 3.5-RC4-23115.
git-svn-id: http://core.svn.wordpress.org/trunk@23115 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-07 01:15:44 +00:00
Bot (Assets) c4ef3fe74c Compress scripts/styles: 3.5-RC3-23091. TinyMCE updated.
git-svn-id: http://core.svn.wordpress.org/trunk@23091 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 04:58:34 +00:00
Bot (Assets) 4f3c1bb8f1 Compress scripts/styles: 3.5-RC3-23084.
git-svn-id: http://core.svn.wordpress.org/trunk@23084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 00:42:44 +00:00