Commit Graph

516 Commits

Author SHA1 Message Date
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 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 56b919e651 Make `media.view.VideoDetails.prepareSrc` a static class method instead of an instance method. Properly pairs it with its incrementing `instances` property.
See #27389.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27378 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 12:43:15 +00:00
Andrew Ozz 1ebf6bc9ee Drag/drop upload: don't trigger on "local" dragging, hide the overlay on click. Props kovshenin, fixes #19845
Built from https://develop.svn.wordpress.org/trunk@27531


git-svn-id: http://core.svn.wordpress.org/trunk@27374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 00:42:14 +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 a945b2738f Add a class property to `wp.media.view.MediaDetails` called `instances` that is incremented every time the class is invoked. This mimics what happens in the shortcodes: the sources receive an incremented cache-buster so that the browser won't ignore the file when `preload="metadata"` is set.
See #26779.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 03:55:15 +00:00
Scott Taylor 8705921741 In `wp.media.view.AttachmentFilters`, when creating its inner HTML content, pass `filter.text` via `.html( str )` instead of `.text( str )` to allow more formatting options.
Props tlovett1.
Fixes #25010.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 03:19:15 +00:00
Helen Hou-Sandí 326f49688f Ensure the correct model is selected when editing an image from gallery mode. props gcorne. fixes #27363.
Built from https://develop.svn.wordpress.org/trunk@27517


git-svn-id: http://core.svn.wordpress.org/trunk@27360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-12 22:05:15 +00:00
Helen Hou-Sandí 9aafd2294d Smooth out some display and race condition issues with the media modal loading spinner. props kadamwhite, gcorne. see #24859.
Built from https://develop.svn.wordpress.org/trunk@27516


git-svn-id: http://core.svn.wordpress.org/trunk@27359 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-12 21:07:14 +00:00
Andrew Nacin 69ccc8b53d JS linting for [27497].
see #21785.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-11 04:20:14 +00:00
Andrew Nacin a589d9d757 Add header image uploads with cropping to the customizer.
props mcsf, ehg, gcorne.
see #21785.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-11 04:13:16 +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
Scott Taylor 8e2e99fd0c 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 06:24:15 +00:00
Scott Taylor 90da8aab4a Add `wp.media.view.MediaFrame.MediaDetails`, which `wp.media.view.MediaFrame.AudioDetails` and `media.view.MediaFrame.VideoDetails` extend. The subclasses subsequently only need to set `createStates()` and `bindHandlers()`, as well as any missing toolbar views.
See #27016.


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


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


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


git-svn-id: http://core.svn.wordpress.org/trunk@27322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 05:25:15 +00:00
Scott Taylor dc00fc7e7f 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 01:01:14 +00:00
Andrew Ozz c3212baa4d Limit the drag/drop upload only to newer browsers (IE10+), add a fullscreen dropzone in DFW mode, props kovshenin, see #19845
Built from https://develop.svn.wordpress.org/trunk@27464


git-svn-id: http://core.svn.wordpress.org/trunk@27309 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-08 01:35:15 +00:00
Scott Taylor 818bf7c6af 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-07 16:42:14 +00:00
Scott Taylor 3b212f7e0f JSHint addendum to [27450].
See #27016.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27299 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-07 08:44:15 +00:00
Scott Taylor 7f15998947 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-07 08:32:14 +00:00
Scott Taylor 52fdb09e2d Support the `autoplay` attribute, even when the plugin type for a MediaElement instance is Flash. In the media modal, `wp.media.view.VideoDetails` and `wp.media.view.AudioDetails` now extend a unified `wp.media.view.MediaDetails` class which contains all of the player creation and destruction logic. The `remove()` method mimics the `mejs.MediaElementPlayer.remove()` method, but does not re-add the audio/video tag to the DOM. The MEjs method is especially problematic when the tag has `autoplay="true"` and the view has been detached but not destroyed.
Fixes #25077.
See #27016.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27296 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-07 05:52:14 +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 023b419727 Call the correct `remove()` method on the MEjs instance when exiting the media modal.
See #27016.


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


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


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


git-svn-id: http://core.svn.wordpress.org/trunk@27287 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-06 19:06:16 +00:00
Scott Taylor ba27ced46b Add a loading indicator to the Media Library.
Props kadamwhite, gcorne, kovshenin.
Fixes #24859.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27285 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-06 17:46:15 +00:00
Scott Taylor bc9838f86f We shall pledge to run `jshint` before committing.
Props nacin for the nudge.


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


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


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


git-svn-id: http://core.svn.wordpress.org/trunk@27267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 21:37:13 +00:00
Scott Taylor 09d8606428 Add some missing JSDoc blocks to media-related code.
See #27016.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27262 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 18:37:15 +00:00
Scott Taylor 0ccc1d52ac Audio doesn't have the same quirks as video in the media modal. We don't have to aggressively destroy the `mejs` instance.
See #27016.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27261 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 18:32: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 70d23fc559 Support multiple editor instances when drag-and-drop-uploading onto them.
Also reduces z-index to below the toolbar, and adds a comment.

props kovshenin.
see #19845.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27227 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-03 17:44:16 +00:00
Scott Taylor cbe89d6710 Adjust the priority of the separator in the Edit Playlist and Edit Video Playlist menus to match the structure of the Edit Gallery menu.
Props gcorne.
See #26631.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27213 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 23:13:14 +00:00
Scott Taylor c0a9ee8452 Make `CollectionEdit` and `CollectionAdd` less dynamically quirky. Rename some instance properties for disambiguation. Pass some properties from `options` when creating instances in `wp.media.view.MediaFrame.Post`.
See #26631.
Props gcorne.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27212 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 23:11:14 +00:00
Scott Taylor 330f27f095 Add some braces for `jshint` in `media-views.js`.
See #26631.
Props gcorne.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27211 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 23:07:15 +00:00
Sergey Biryukov f01dc328c5 Remove extra comma. props jorbin. see #19845.
Built from https://develop.svn.wordpress.org/trunk@27352


git-svn-id: http://core.svn.wordpress.org/trunk@27203 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 19:01:13 +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 3dc901a92a Rather than extending `media.controller.CollectionAdd` 3 times, make it a constructor that dynamically extends `media.controller.Library` and use instances of it instead.
See #26631.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 23:04:13 +00:00
Scott Taylor abebb1fde2 Correct a misspelled property name in a `media-views.js` annotation.
Props kovshenin.
See #26870.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27162 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 03:07:14 +00:00
Andrew Ozz 511f12f793 When closing the various "edit" media modals, remove the related views elements from the DOM. Props gcorne, fixes #27204.
Built from https://develop.svn.wordpress.org/trunk@27276


git-svn-id: http://core.svn.wordpress.org/trunk@27132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 21:03:15 +00:00
Andrew Nacin 74f2a32f52 Fixed mixed spaces and tabs. Also remove trailing comma. see #26631.
Built from https://develop.svn.wordpress.org/trunk@27266


git-svn-id: http://core.svn.wordpress.org/trunk@27123 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 17:32: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 f319feb524 Register `wp.media.controller.GalleryEdit` and `wp.media.controller.GalleryAdd` using the new `wp.media.controller.Collection*` abstraction code.
See #26631.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-20 18:34:12 +00:00
Scott Taylor 4193c7f6c3 In `media-views.js`, add `wp.media.controller.CollectionAdd` and `wp.media.controller.CollectionEdit` to provide an abstraction for Add and Edit screens in the media modal for collection-type things.
There are currently no instances of this. Those will be forthcoming.

See #26631.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-20 18:25:14 +00:00
Andrew Nacin ca4a29c002 Update media-views and wp.Backbone.View for Backbone 1.1.
* Collection set/add/remove/reset methods now return models, not `this`, so they can no longer be chained.
 * Options passed to Backbone.View's constructor are no longer attached automatically. wp.Backbone.View now does this automatically.

See [27170] for Backbone 1.1 itself.

props gcorne.
fixes #26799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-13 07:36:13 +00:00
Dominik Schilling 5d0f6bd98a Use jQuery.prop('checked') instead of jQuery.attr('checked'), which is deprecated.
Built from https://develop.svn.wordpress.org/trunk@27164


git-svn-id: http://core.svn.wordpress.org/trunk@27030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-11 21:13:14 +00:00
Scott Taylor f1fff8a2e9 Add some inline docs to `media-views.js` and remove some unnecessary comments from a few `super` calls.
Props gcorne.
See #26870.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-07 20:21:12 +00:00
Andrew Nacin 6169e8662b JSHint fixes for media-views and Gruntfile.
props gcorne.
fixes #27032, #27033.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26972 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-06 05:32:12 +00:00
Andrew Ozz 2f6d9d37cc Consolidate "close on Escape" in the media modal, DFW, wpLink and Thickbox. Props kovshenin, fixes #26854.
Built from https://develop.svn.wordpress.org/trunk@27080


git-svn-id: http://core.svn.wordpress.org/trunk@26953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-03 05:31:14 +00:00
Scott Taylor e1759d668a 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-28 23:21:13 +00:00
Andrew Ozz 33eedc570b Introduce Edit Image (single mode) in the media modal and use it to edit images inserted in the editor. Adds new feature: replace an image in the editor. Props gcorne, see #24409.
Built from https://develop.svn.wordpress.org/trunk@27050


git-svn-id: http://core.svn.wordpress.org/trunk@26924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-28 21:17:12 +00:00
Scott Taylor 328fc8bae8 Add initial JSDoc blocks to `media-views.js`. The initial blocks are a baseline to work from and invite future iterations. Initial commit is to avoid commits this large in the future.
See #26870.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26863 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-20 23:42:11 +00:00
Andrew Nacin a5d83b489b Fix JSHint errors in media-views.js.
props kadamwhite.
fixes #25974.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-14 05:54:10 +00:00
Andrew Nacin 622709076b Media: Fix embedding of audio/video players when the file was just uploaded.
While uploading, we know an attachment's filename but not its mime type. Check specifically for extensions. Check for type as a convenience when it is available.

fixes #24449.



git-svn-id: http://core.svn.wordpress.org/trunk@24784 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-23 17:29:55 +00:00
Andrew Nacin 2c67dea9bc Media: Add awareness to Attachment Display Settings that audio and video can be embedded.
Also:
 * Add file length metadata to Attachment Details.
 * Round the kb/s bitrate on post.php.

fixes #24449.



git-svn-id: http://core.svn.wordpress.org/trunk@24777 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-23 05:39:08 +00:00
Daryl Koopersmith 452c0f4166 Add Backbone property to the wp-backbone namespace. See #24424.
git-svn-id: http://core.svn.wordpress.org/trunk@24367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-26 06:34:33 +00:00
Daryl Koopersmith b8ce442044 Update the subview controller for the patterns found in Backbone 1.0.
Fixes #24424.


git-svn-id: http://core.svn.wordpress.org/trunk@24361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-25 21:38:12 +00:00
Daryl Koopersmith 56a6cac328 Extract the base views from media.
See #24424.


git-svn-id: http://core.svn.wordpress.org/trunk@24360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-25 21:03:04 +00:00
Mark Jaquith 262b3bd9b1 Don't allow images to be set as featured image until they have been processed.
props kadamwhite. fixes #23317.

git-svn-id: http://core.svn.wordpress.org/trunk@23956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-10 22:26:55 +00:00
Daryl Koopersmith 2798e396e3 Media: Reset modal after gallery insertion.
Removes hardcoded (and vestigial) 'upload' states in favor of using the default modal state.
When a media toolbar action is triggered, reset the modal after switching to the new state (as opposed to beforehand).

fixes #23675.


git-svn-id: http://core.svn.wordpress.org/trunk@23590 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-03 07:36:21 +00:00
Daryl Koopersmith 00d88af87a Update Backbone to 0.9.10. Update media to handle breaking changes.
* When overriding `Backbone.sync()`, ensure the `sync` and `error` events fire consistently.

* `Model#make()` has been removed. Use `$` instead, and be sure to grab the DOM node where necessary (using `[0]`).

* `Collection#get()` now accepts `cid`s. `Collection#getByCid()` has been removed.

* When overriding the `State` constructor, bind `change` callbacks after the default `Model` constructor is called, because the `Model` constructor no longer passes the `silent` flag when calling `set()` for the default attributes.

* In 'change' events, `options.changes` was removed. It can now be accessed through `model.changed`. Check if any attributes have changed by calling `model.hasChanged()`. Also, don't mess with `model.changed`; it persists beyond the scope of a single event.

* `options.index` is no longer be set in the `add` event callback. Use `collection.indexOf(model)` can be used to retrieve the index of a model instead.

props gcorne. fixes #23262.


git-svn-id: http://core.svn.wordpress.org/trunk@23589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-03 07:04:06 +00:00
Andrew Nacin 9a7814c1a0 Don't unnecessarily re-render the attachment details view when editing the title and caption. Re-rendering causes issues with tabbing and focus, and is only necessary for other views (such as "Caption this image..." when editing a gallery).
props koopersmith.
fixes #23054.
for trunk.



git-svn-id: http://core.svn.wordpress.org/trunk@23283 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 23:29:20 +00:00
Daryl Koopersmith a84cef4556 Media: Properly reset the "add to gallery" library to ensure it accurately reflects the current gallery. see #22815.
git-svn-id: http://core.svn.wordpress.org/trunk@23263 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 08:28:12 +00:00
Andrew Nacin c95ff91fe7 Media: Restore 3.4 behavior by consulting the old-school DB options for default align, size, and link properties.
This restores linking to media files as the default, over attachment pages. This 'default' cannot currently be changed by a user setting (per 3.4 behavior), due to the default database schema.

see #22841, for trunk.



git-svn-id: http://core.svn.wordpress.org/trunk@23262 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 08:02:16 +00:00
Daryl Koopersmith da06cf3e2d Media: Do not update attachment display user settings when a single attachment is inserted.
This is consistent with 3.4 behavior.

see #22841.


git-svn-id: http://core.svn.wordpress.org/trunk@23261 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 08:01:19 +00:00
Daryl Koopersmith 774df9900e Media: Check that a router region exists before attempting to access its child views. Add relevant documentation. see #22930.
git-svn-id: http://core.svn.wordpress.org/trunk@23260 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 07:08:37 +00:00
Daryl Koopersmith 1132f798f7 Media: Automatically select uploading attachments in single-select workflows.
The code now automatically selects uploading attachments in all workflows. In a workflow that selects multiple attachments, all attachments added to the upload queue are selected. In a workflow that selects a single attachment (e.g. selecting a featured image), the last attachment added to the upload queue is selected.

see #22817.


git-svn-id: http://core.svn.wordpress.org/trunk@23259 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 06:44:21 +00:00
Andrew Nacin 94b3fbc8dd Makes sure attachment sizes are correctly deselected in IE. Fixes size selections on insert in IE9. props koopersmith. fixes #22851.
git-svn-id: http://core.svn.wordpress.org/trunk@23163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-10 23:15:53 +00:00
Daryl Koopersmith c08b897b89 Trailing commas make IE7 cry. fixes #22819.
git-svn-id: http://core.svn.wordpress.org/trunk@23124 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-07 20:42:10 +00:00
Ryan Boren eaefa67006 When inserting from URL in the media modal, retain query params and properly insert the caption code.
Props koopersmith
fixes #22796


git-svn-id: http://core.svn.wordpress.org/trunk@23110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 23:12:59 +00:00
Andrew Nacin 2d9b708b6e Media: When the attachment details view changes to another view or attachment, save compat fields on destroy. (We already do this for non-compat fields.) props koopersmith. fixes #22776.
git-svn-id: http://core.svn.wordpress.org/trunk@23098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 06:56:06 +00:00
Mark Jaquith 1419b404a8 Add the ability to click "Edit" and kick out to the advanced image editor from within the Media modal. New window, with "Refresh" offered on your return. fixes #22743. props koopersmith, nacin, helenyhou.
git-svn-id: http://core.svn.wordpress.org/trunk@23095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 05:52:19 +00:00
Mark Jaquith 54a390bea9 New method of managing media selections. There is now a "master" selection in the background. props koopersmith. fixes #22725
* This especially helps when you switch between insert/gallery and have non-images selected (as galleries don't support non-images).
* The views now act as filters on the "master" selection, instead of having their own selections that get passed around.

git-svn-id: http://core.svn.wordpress.org/trunk@23089 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 03:55:37 +00:00
Daryl Koopersmith c75dc67668 Do not alter the body's overflow attribute when the media modal is opened. Fix image insertion in the visual editor in Firefox. props azaozz. fixes #22765.
git-svn-id: http://core.svn.wordpress.org/trunk@23085 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 03:15:39 +00:00
Andrew Nacin 173806d7a1 Restore the Description field to the media UI in 3.5.
We tried in vain -- a noble but ultimately failed effort -- to reduce the number of fields for attachments from four (title, caption, alt, description) to one (caption for images, title otherwise). Alternative text needed to stay for accessibility reasons, of course.

Eventually title returned due to heavy plugin reliance. Description is too used by too many plugins (often times incorrectly -- the caption is more likely the proper field), hence its less-than-triumphant return today.

Version 3.5 has tried to streamline media in a number of ways. Removing fields may have been too much at once, as it forced not only a user interface change, but a paradigm change as well.

Finally, on upload we populate the description field with IPTC/EXIF captions, rather than the caption field. See #22768, this should be fixed. For now, Description stays.

This commit also restores 'Title' attribute editing to the main tab of the Edit Image dialog. The "Title" field no longer populates title attributes for <img> tags by design (for accessibility and other purposes, see #18984). So, here is a more obvious 'workaround' for the tooltip community.

Finally, this:
 * Cleans up the post.php attachment editor, including by showing a prettier form of the mime type.
 * Enables plugins to specifically hide attachment_fields_to_edit from either post.php (where you can create meta boxes) or the modal (which you may not want to clutter), for compatibility reasons.
 * Hides the 'Describe this file...' placeholder when a field is read-only in the modal.

props nacin, helenyhou.
fixes #22759.



git-svn-id: http://core.svn.wordpress.org/trunk@23083 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 00:41:06 +00:00
Andrew Nacin 88f61468b3 Media: Final names for the actions in the dialog sidebar: "Insert from URL" and "Set Featured Image" to go with "Insert Media" and "Create Gallery".
Longer strings (such as a translation) looks excellent when it wraps to another line.

props markjaquith, fixes #22753.



git-svn-id: http://core.svn.wordpress.org/trunk@23076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 19:07:48 +00:00
Andrew Nacin c42ae7acb6 Media: Use '%d selected' for the selection string, and offer a comment to translators to help them find a workable solution with this would-be plural string. fixes #22749. see #22229.
git-svn-id: http://core.svn.wordpress.org/trunk@23075 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 19:03:38 +00:00
Mark Jaquith bc8ddb3e64 Intelligently make media fields readonly when the user cannot update or do anything with them. props koopersmith, helenyhou, nacin. fixes #22613
git-svn-id: http://core.svn.wordpress.org/trunk@23072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 10:29:24 +00:00
Mark Jaquith 4d35b3409b Implement tabbing between fields in the media modal. props lessbloat, koopersmith. fixes #22659
git-svn-id: http://core.svn.wordpress.org/trunk@23070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 09:57:58 +00:00
Mark Jaquith d8d39ff764 When setting the featured image from the dedicated meta box, only show the featured image section in the media chooser. props koopersmith. fixes #22731
* Less distracting
* Some of these sections won't apply for CPTs without an editor

git-svn-id: http://core.svn.wordpress.org/trunk@23069 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 09:43:10 +00:00
Mark Jaquith e84a4a0c89 Fix the "Uploaded to this post" filter in the "Add to gallery" state. fixes #22723
Also, use "images" wording instead of generic "media items" when in a gallery (images-only) context. fixes #22722

Both are props koopersmith

git-svn-id: http://core.svn.wordpress.org/trunk@23068 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 09:25:17 +00:00
Mark Jaquith 98fb6e45d7 Use data on the ui.item to transport the original Sortable index for the update() function. This way extensions can set/access this info in their own custom Sortable functions. see #22696
git-svn-id: http://core.svn.wordpress.org/trunk@23067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 09:04:19 +00:00
Ryan Boren c4d04dd476 Clear the From URL view in the media modal after inserting an image. Improve button enable checks.
Props koopersmith
fixes #22740


git-svn-id: http://core.svn.wordpress.org/trunk@23065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 04:43:51 +00:00
Mark Jaquith b6982a0804 Allow a sortable options hash to be passed in, so you can override the defaults. props koopersmith. see #22696
git-svn-id: http://core.svn.wordpress.org/trunk@23064 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 04:11:49 +00:00
Andrew Nacin e1405b6f1d Media: Don't try to resize the bottom selection UI. props koopersmith. fixes #22748.
git-svn-id: http://core.svn.wordpress.org/trunk@23056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 01:38:44 +00:00
Daryl Koopersmith 81d474cda0 Toggle display of plupload overlays when the select files button is hidden. see #22732.
git-svn-id: http://core.svn.wordpress.org/trunk@23053 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 00:45:21 +00:00
Andrew Nacin d720772ef3 Media: Return to the library when the editing a selection and all items get de-selected. props koopersmith. fixes #22715.
git-svn-id: http://core.svn.wordpress.org/trunk@23051 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 00:22:11 +00:00
Ryan Boren 51db7de93b When inserting an image From URL, show the fields only if it looks like we have a valid image.
Props koopersmith
fixes #22740


git-svn-id: http://core.svn.wordpress.org/trunk@23048 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 23:07:41 +00:00
Andrew Nacin d47267224c When adding images to a gallery, use "Images" as the filter name, rather than "All media items". props koopersmith. fixes #22722.
git-svn-id: http://core.svn.wordpress.org/trunk@23041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 20:51:37 +00:00
Andrew Nacin 1c5c724b3a Media: Properly select the select element's option in the attachment display settings. props koopersmith. fixes #22693.
git-svn-id: http://core.svn.wordpress.org/trunk@23037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 19:38:16 +00:00
Ryan Boren 53f5c1cdc7 Better dropdown select handling.
Props cdog, koopersmith
fixes #22693


git-svn-id: http://core.svn.wordpress.org/trunk@23033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 18:50:49 +00:00
Ryan Boren a200c702e0 Only show Delete in media modal if the user can delete.
Props nacin, koopersmith
fixes #22711


git-svn-id: http://core.svn.wordpress.org/trunk@23032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 18:33:51 +00:00
Ryan Boren 8603ed6082 Media: Hide "Edit" link in the selection view when it doesn't make sense
Props koopersmith, ocean90, nacin
fixes #22713


git-svn-id: http://core.svn.wordpress.org/trunk@23031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 18:23:47 +00:00
Mark Jaquith bc09152660 Fix a Firefox "scroll to bottom" bug when launching the media modal.
* Records main document scroll position when launching media modal.
* Restores position when media modal is closed.
* Also locks background document scrolling while media modal is open, preventing inadvertent scrolling there.

props koopersmith. fixes #22716

git-svn-id: http://core.svn.wordpress.org/trunk@23029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 17:58:24 +00:00
Mark Jaquith 82d51aeeef Update toolbars for Embed screen. Fixes JS error. props koopersmith. fixes #22714
git-svn-id: http://core.svn.wordpress.org/trunk@23028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 17:45:24 +00:00
Andrew Nacin d2a9957ad8 Media: Disable 'Insert gallery' and 'Set featured image' if nothing is queued. Converts selection toolbars to use the newer view manager. props koopersmith, fixes #22714.
git-svn-id: http://core.svn.wordpress.org/trunk@23024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 16:21:57 +00:00
Mark Jaquith 55ac7a4565 Fix a typo in media-views.js that referenced frame.router.get() instead of frame.router. Fixes #22710
git-svn-id: http://core.svn.wordpress.org/trunk@23015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 05:18:21 +00:00
Andrew Nacin 156c5fef0f Media: When an image does not have all image sizes available, make sure we insert the requested size into the editor. props koopersmith. fixes #22693.
git-svn-id: http://core.svn.wordpress.org/trunk@23008 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 04:04:45 +00:00
Ryan Boren 61a9471024 Final round of media UX improvements.
Props koopersmith
fixes #21390 #22502


git-svn-id: http://core.svn.wordpress.org/trunk@23006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 01:26:03 +00:00
Ryan Boren 63662a9b7b In the QuickPress media modal, use the new post id when a post is published.
Props nacin, koopersmith
fixes #22673


git-svn-id: http://core.svn.wordpress.org/trunk@22994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 07:17:10 +00:00
Ryan Boren 0848a51955 When settting a featured image, move the currently selected image to the beginning of the library if it doesn't exist within the attachments loaded so far.
Props koopersmith
fixes #22494


git-svn-id: http://core.svn.wordpress.org/trunk@22993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 07:04:34 +00:00
Ryan Boren c06ffe745f Show a spinner when attachment details are saved.
Props koopersmith
see #22613


git-svn-id: http://core.svn.wordpress.org/trunk@22991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 06:37:49 +00:00
Ryan Boren 01adc2740e Show Select Files button the first time the media modal is opened.
Props koopermsith
fixes #22691


git-svn-id: http://core.svn.wordpress.org/trunk@22990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 06:32:25 +00:00
Ryan Boren 23ed804180 Add random and reverse sorting options to gallery settings.
Props koopersmith
fixes #22637


git-svn-id: http://core.svn.wordpress.org/trunk@22987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 05:32:25 +00:00
Andrew Nacin 6d711428b4 Media: Don't add menu_order to newly uploaded attachments, to match 3.4 behavior. Reverts a bit of [22967]. props koopersmith. fixes #22607.
git-svn-id: http://core.svn.wordpress.org/trunk@22985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 04:54:03 +00:00
Ryan Boren b382901778 Update gallery editing to work with the modal changes. Add nice handling for default states.
Props koopersmith
see #21776


git-svn-id: http://core.svn.wordpress.org/trunk@22984 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 04:38:10 +00:00
Andrew Nacin 5d0933d884 Bring Featured Images back into the main media dialog.
Most users don't realize that the Featured Image meta box exists; if they do, few use it.

Restores the old meta box UI, including the admin_post_thumbnail_html filter. If a plugin is using _wp_post_thumbnail_html() in conjunction with Thickbox elsewhere, it will also magically still work.

Specific underlying changes:
 * Converts the modal view to use the view manager, which means that a call to open() will automatically call render and attach if necessary.
 * Doesn't automatically set a state in wp.media, to allow code to customize the states to be added before activation.

props koopersmith.
fixes #21776.



git-svn-id: http://core.svn.wordpress.org/trunk@22979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 02:38:10 +00:00
Andrew Nacin 27bf82201b Allow the 'Uploaded to this post' view to be sorted, saving the resulting order as menu_order.
This functionality is designed to be backwards compatible with manual querying for attachments by menu_order.

props koopersmith.
see #22607.



git-svn-id: http://core.svn.wordpress.org/trunk@22967 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-02 16:06:31 +00:00
Ryan Boren ebe9cd7395 In the media modal, show the Link To: url.
Props nacin
fixes #22662


git-svn-id: http://core.svn.wordpress.org/trunk@22965 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-02 00:43:08 +00:00
Ryan Boren af42700ebd Resolve race conditions in Attachments.more().
Props koopersmith
fixes #22656


git-svn-id: http://core.svn.wordpress.org/trunk@22957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 16:45:43 +00:00
Ryan Boren 59456a9cea Resolve race conditions in Attachments.more(). Provides for smoother refreshes when searching and properly cleans out content components.
Props koopersmith
fixes #22656


git-svn-id: http://core.svn.wordpress.org/trunk@22956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 16:41:38 +00:00
Ryan Boren f07c7f5163 Refine media state machine methods.
* state( id ) becomes setState( id )
* get( id ) becomes state( id )
* state() stays the same
* previous() becomes lastState()

Props koopersmith
fixes #22652


git-svn-id: http://core.svn.wordpress.org/trunk@22952 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 15:19:11 +00:00
Ryan Boren b73c43e0e2 Update the "Uploaded to this post" filter view when uploading new files.
* Add an Attachments collection filter for uploadedTo (post_parent).
* Correct an erroneous map from the non-existent parent prop to post_parent.
* Define default menuOrder and uploadedTo props for uploading attachments.
* Unify filterable props into a single method (improving validation performance for calls to set with multiple properties).

Props koopersmith
fixes #22654


git-svn-id: http://core.svn.wordpress.org/trunk@22951 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 15:11:44 +00:00
Ryan Boren d4abd95449 Scope button classes so they can be used on the frontend without interfering with theme styles.
Props helenyhou, koopersmith
fixes #22644


git-svn-id: http://core.svn.wordpress.org/trunk@22948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 13:40:59 +00:00
Andrew Nacin 5d9fcc48b6 Pressing escape now closes the media modal. props koopersmith, see #22502.
git-svn-id: http://core.svn.wordpress.org/trunk@22946 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 08:37:17 +00:00
Ryan Boren e656d19a30 Improve switching between browser and upload state.
Props koopersmith
fixes #22628


git-svn-id: http://core.svn.wordpress.org/trunk@22945 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 06:01:47 +00:00
Ryan Boren a986fd1509 In the media modal, ensure modal events are always fired on its frame. This ensures restoreThickbox() and thus tbRemove() are called properly when clicking the close button of the modal.
Props koopersmith
fixes #22632


git-svn-id: http://core.svn.wordpress.org/trunk@22938 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-30 01:55:37 +00:00
Ryan Boren 5f7f9c5520 Revert accidental bits from r22919. see #22628
git-svn-id: http://core.svn.wordpress.org/trunk@22923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-29 16:58:08 +00:00
Ryan Boren 7188bff165 Icons for select, deselect, and window close in the media modal.
Props JerrySarcastic, helenyhou, ocean90, lessbloat
fixes #22610


git-svn-id: http://core.svn.wordpress.org/trunk@22919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-29 13:33:57 +00:00
Ryan Boren a5253fd686 Media modal: Don't fire two AJAX calls on settings update.
Props koopersmith
fixes #22611


git-svn-id: http://core.svn.wordpress.org/trunk@22907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-28 22:27:13 +00:00
Andrew Nacin bffb901334 Check if the object is empty, as objects are always truthy. props koopersmith. see #22593.
git-svn-id: http://core.svn.wordpress.org/trunk@22892 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-28 04:41:24 +00:00
Andrew Nacin 32c57c6b6a Media: Remove the link to the browser uploader. The only need for it is large files (> 100MB) in certain browsers (IE, Opera), so we will show the link then only. fixes #22604.
git-svn-id: http://core.svn.wordpress.org/trunk@22889 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-28 02:28:10 +00:00
Andrew Nacin b70cb2d284 Ensure attachment modal details are saved before the attachment details view is destroyed. props koopersmith. fixes #22593.
git-svn-id: http://core.svn.wordpress.org/trunk@22888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-28 02:03:31 +00:00
Andrew Nacin dd3cd96bac When editing a plain, legacy [gallery] shortcode, ensure we are sorting its contents using menu_order.
When attachments are sorted, we convert the shortcode to [gallery ids=""], as before.

props koopersmith.
fixes #22608.



git-svn-id: http://core.svn.wordpress.org/trunk@22882 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-27 23:20:12 +00:00
Ryan Boren 939a47ba48 Add a delete link to the media modal.
Props merty, nacin, koopersmith
fixes #22524


git-svn-id: http://core.svn.wordpress.org/trunk@22869 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-27 15:50:59 +00:00
Ryan Boren 2c1d52526a Don't use "embed" when referring to inserting from URL.
Props nacin
fixes #22603


git-svn-id: http://core.svn.wordpress.org/trunk@22868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-27 15:35:36 +00:00
Ryan Boren 555a87db2f Back compat $_REQUEST['post_id'] for media XHR requests.
Props koopersmith, nacin.
fixes #22588


git-svn-id: http://core.svn.wordpress.org/trunk@22865 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-27 14:58:08 +00:00
Ryan Boren a6bba833d4 Rename 'id' to 'state' in menu item view.
Props koopersmith
fixes #22594


git-svn-id: http://core.svn.wordpress.org/trunk@22851 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-26 22:49:45 +00:00
Ryan Boren 7469f91bc7 Always render the attachment compat view. Assures attachment_fields_to_edit is always fired.
Props koopersmith, Chouby
fixes #22578


git-svn-id: http://core.svn.wordpress.org/trunk@22841 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-26 15:05:14 +00:00
Andrew Nacin 24d68b3bcf Media: Watch more events for input changes to catch paste, autocomplete, etc.
Fixes issue where pasting a URL in 'From URL' (via the context menu) did not
enable the insert button, as the event was not yet fired.

props koopersmith.
fixes #22545.



git-svn-id: http://core.svn.wordpress.org/trunk@22836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-26 03:35:28 +00:00
Daryl Koopersmith 5f25155408 Media: Use a full uploader status view in the inline uploader. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 12:54:49 +00:00
Daryl Koopersmith 27e8de7e3a Media: Add uploader error detection to the inline uploader view as well. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22824 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 12:35:05 +00:00
Daryl Koopersmith c5991558be Media: Properly render any pre-existing upload errors in the uploader status. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 12:24:54 +00:00
Daryl Koopersmith 440ec7ef3d Media: Make friends with media_upload_form. Adds notices for browser incompatibility, upload limits, maximum file size, and large file issues to the uploader. fixes #22243, see #22186, #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22821 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 11:46:03 +00:00
Daryl Koopersmith 688b8de348 Media: Display WordPress and plupload error messages whenever an upload fails. see #22243, #22186, #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 10:56:10 +00:00
Daryl Koopersmith 1e472d8974 Media: Add global upload progress to the sidebar. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22816 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 09:32:21 +00:00
Daryl Koopersmith e63ef3a443 Media: Move sidebar from the frame view to the attachment browser view. Prevents juggling sidebar visibility state, and makes managing sidebar contents more reasonable. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 06:30:25 +00:00
Daryl Koopersmith 98494fdfe1 Media: Check to see if we need more attachments when the browser is attached to the DOM. fixes #22480, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22806 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 03:19:08 +00:00
Daryl Koopersmith f80e93ebf8 Media: Convert the attachments browser to use internal views. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 01:43:31 +00:00
Daryl Koopersmith de54f9318f Media: Make priority list views leverage the subview management class. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-22 00:41:39 +00:00
Daryl Koopersmith 4aa6a83d47 Media: Rename PriorityList's add/remove methods to set/unset (to prevent the default remove from being overridden). see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 20:43:42 +00:00
Daryl Koopersmith 452c486d5f Media: Refresh the window-wide uploader whenever a state is activated. Properly unbind controller events. fixes #22504, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22791 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 20:34:46 +00:00
Daryl Koopersmith 1923278143 Media: Make the window-wide uploader a subview of the frame view.
Allows the uploader to leverage the ready event to know when it has been attached to the page.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22790 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 20:27:49 +00:00
Daryl Koopersmith 1480429ec0 Media: Make inline uploader use main dispose method. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22787 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 19:54:06 +00:00
Daryl Koopersmith f8630d2be3 Media: Remove unused variable for state attributes. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22786 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 19:21:08 +00:00
Daryl Koopersmith b5335a5d24 Media: Make the upload state a dedicated screen, instead of including its own library view. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22781 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 18:29:53 +00:00
Daryl Koopersmith 7de56d32db Media: Use a more specific class for toolbar buttons. see #22284, #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22779 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 17:50:02 +00:00
Daryl Koopersmith 5cecff80b8 Media: Calculate image width and height when embedding images. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22762 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 14:32:52 +00:00
Daryl Koopersmith 5e39581c13 Media: Remove redundant code.
Make the composite gallery library use `mirror` instead of `observe`, as one method now invokes the other. Also, make `mirror` return the attachment collection for chaining.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 12:11:38 +00:00
Daryl Koopersmith ff482e86fb Media: Add filters for image-only libraries. see #22514, #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22745 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 11:04:23 +00:00
Daryl Koopersmith 5b11aea8f5 Media: Dynamically generate attachment filters using get_post_mime_types().
Moves `get_post_mime_types()` from `wp-admin/includes/post.php` to `wp-includes/post.php`.

fixes #22514, see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 10:18:59 +00:00
Daryl Koopersmith a763641235 Media: Remove debug cruft. props ocean90. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 09:28:58 +00:00
Daryl Koopersmith 46bc46d88a Media: Dropping images on the edit gallery view will automatically add those images to the gallery. fixes #22521, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 08:17:45 +00:00
Daryl Koopersmith d63026f2ba Media: Maintain event bindings in the main embed view. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22716 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 14:44:23 +00:00
Daryl Koopersmith e25565f4b7 Media: Allow all galleries to be sortable. fixes #22488, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 14:04:59 +00:00
Daryl Koopersmith 6fb316b1fb Media: Add filters to the media library. fixes #22514, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 13:49:35 +00:00
Daryl Koopersmith 9350f67e28 Media: Refresh the attachment display settings when the active attachment finishes uploading. fixes #22452, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22710 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 11:57:08 +00:00
Daryl Koopersmith 31c525b289 Media: Remove dead dropdown code from button view. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22708 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 11:29:00 +00:00
Daryl Koopersmith 220a5175d5 Media: Attachment checkboxes now function as such. fixes #22462, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 11:10:04 +00:00
Daryl Koopersmith d4744fda0a Media: Prevent undefined errors when media scripts are enqueued outside of wp_enqueue_media(). fixes #22495, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 01:48:37 +00:00
Daryl Koopersmith 05db7000c4 Media: Detect when views are added to the DOM and fire a ready event. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 00:53:02 +00:00
Daryl Koopersmith 663cde2c51 Media: Add render tracking to views. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22690 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 22:48:11 +00:00
Daryl Koopersmith e6943d1033 Media: Add silent options to the views; improve documentation. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 12:11:16 +00:00
Daryl Koopersmith 028d378322 Media: Add a method to fetch the first subview. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22682 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 10:41:24 +00:00
Daryl Koopersmith 31576e6c0c Media: Add documentation to media.Views. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22681 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 10:40:49 +00:00
Daryl Koopersmith 549b5f61ae Media: Only show the alignment setting when viewing an image. fixes #21836, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 07:24:47 +00:00
Daryl Koopersmith 1af6c38db3 Media: Add default render method to views.
* Use default `render` method in the `Frame` view.
* Rename `Views.attach` to `Views.insert`.
* Add `Views.all` to retrieve all subviews.
* Add `Views.detach` to detach all subviews.
* Detect whether views are going to be reused in `View.set` and `detach` them instead of calling `dispose`.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 06:02:00 +00:00
Daryl Koopersmith 473583a4f4 Media: Allow subviews to be inserted at a specific index. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 04:41:57 +00:00
Daryl Koopersmith 795ba27d10 Media: Convert the attachments browser view's destroy method to the newer dispose method. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 03:33:29 +00:00
Daryl Koopersmith ff204257db Media: Remove unused batch edit states and strings. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 03:11:48 +00:00
Daryl Koopersmith 25ebc64c20 Media: Remove debug cruft from [22655]. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22656 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 02:44:34 +00:00
Daryl Koopersmith 561f01bd79 Media: Optimize media models.
* Merge `Composite` model with general `Attachments` model, as `Attachments.validate` and `Composite.evaluate` were functionally equivalent.
* Queries should only watch `wp.Uploader.queue`, as watching `Attachments.all` results in queries attempting to add attachments before their properties are set (which then results a few too many irrelevant adds/removes). `Attachments.all` should potentially be removed or rethought.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22655 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 02:43:10 +00:00
Daryl Koopersmith 10eada54dc Media: Move Attachments view preventDefault handler to the events object. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22651 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 01:17:30 +00:00
Daryl Koopersmith 13a3cc30b2 Media: Allow for the views manager to be extended. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 00:54:18 +00:00
Daryl Koopersmith 4256ba0b48 Media: Add a base view class.
* Centralizes view and subview management, unifying several disjointed constructs.
* Utilizes the `dispose` functionality found in Backbone master, providing a standard method for memory management.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 00:36:47 +00:00
Daryl Koopersmith b57d3ff767 Media: zIndex peace was only temporary.
Revert [22611] in favor of using plupload's `container` setting. Turns out, plupload's flash shim is forced to the exact same index as the admin bar, so balancing the two is better solved by nesting the shim.

see #22441, #22446, #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-16 10:30:36 +00:00
Daryl Koopersmith 24910d5c06 Media: Only show the edit selection link for the media library. Make the upload attachments list sortable. Only retain the `silent` option when running `Attachments.validate()`. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-15 03:09:35 +00:00
Daryl Koopersmith 79c74bbe1e Media: Enter batch insert workflow by editing the selection instead of having an explicit button. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-15 02:36:06 +00:00
Daryl Koopersmith 511c14e4ed Media: Unify the "Insert" and "Insert.Post" toolbars. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22583 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-14 22:40:34 +00:00
Daryl Koopersmith 8227b30046 Media: Improve image size-related UI and code.
* Add dimensions to the "sizes" dropdown.
* Ensure a `full` size is generated in `wp_prepare_attachment_for_js()`.
* Print the dimensions for the full size in the attachment summary (instead of those for the current size).
* When generating the attachment view's template, map `imageSize()` to the `size` property instead of overriding the default data.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22580 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-14 22:08:02 +00:00
Daryl Koopersmith 8e775dff4b Media: Better image detection in the embed from URL tab. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22558 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-13 03:33:41 +00:00
Daryl Koopersmith 8c73f531b9 Media: Add an "upload more files" button to upload states. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22552 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-12 23:52:17 +00:00
Daryl Koopersmith 1ec12cccb9 Media: Allow successive embed URLs. see [22547], #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-12 06:02:03 +00:00
Daryl Koopersmith 2d87f983ad Media: Add Embed from URL tab.
Note: There is a bug that currently blocks adding several successive embeds.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22547 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-12 05:57:12 +00:00
Daryl Koopersmith 498e4c1366 Media: Ensure variables in the attachment details template have defined defaults.
* Adds styling to the upload progress bar in the attachment details template.
* Defines the `filename` attribute when Plupload creates the client-side `Attachment` model.

fixes #22410, see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-11 05:16:41 +00:00
Daryl Koopersmith 82213846c3 Media: Add backwards compatibility for attachment_fields_to_edit and attachment_fields_to_save. see #22186.
git-svn-id: http://core.svn.wordpress.org/trunk@22541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-11 01:26:42 +00:00
Daryl Koopersmith 790464193d Media: Add custom URL as an option to attachment display properties. see #21390, #22206.
git-svn-id: http://core.svn.wordpress.org/trunk@22537 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 20:36:46 +00:00
Daryl Koopersmith 43c289dee6 Media: Automatically strip any non-image items from the collection when creating a gallery.
Also changes the rules for when the "new gallery" button shows:
* More than two items must be selected.
* At least one of them must be an image.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22535 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 19:25:39 +00:00
Daryl Koopersmith 2396b66c98 Media: Watch additional search events. Properly captures clearing the search box. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 18:56:11 +00:00
Daryl Koopersmith 30e0a600bf Media: Add title, caption, and alt text, and attachment info to sidebar.
* Improve sidebar styles.
* Separate the hybrid title/caption field.
* Improve the sidebar image thumbnail.
* Remove filenames from inside the non-image icon thumbnail.
* Properly sync title/caption/alt.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22532 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 18:25:04 +00:00
Daryl Koopersmith 9c20d148b9 Media: Add instructions to drag and drop to reorder images on gallery and batch edit pages.
Removes search boxes from these pages as well.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22529 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 09:11:33 +00:00
Daryl Koopersmith bed08350f4 Media: Backwards compatibility for media_upload_tabs.
* Adds `createIframeStates()` to the `MediaFrame` view. It creates states and bindings for the `media_upload_tabs` output, and is included on `MediaFrame.Post` by default.
* Hijacks `tb_remove()` when the media modal is open to ensure the modal closes correctly.
* Adds a `chromeless` parameter to thickbox media tab URLs to render the UI without the old row of tabs.

see #22186, #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 07:51:37 +00:00
Daryl Koopersmith 880b1e4b81 Media JS: Pass the region instance through when firing the activate and deactivate events. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22509 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 12:43:39 +00:00
Daryl Koopersmith b9ed8db596 Media: Keep track of gallery display properties in a separate model instead of mixed in with the query parameters. This allows for arbitrary gallery arguments and a more flexible data structure. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22508 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 12:37:21 +00:00
Daryl Koopersmith db30495fcd Media: Correctly set the edit gallery's library. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22506 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 12:09:15 +00:00
Daryl Koopersmith 3797b7e18c Media JS: Only block button events by default if the button does not link to anything. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22501 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 11:30:40 +00:00
Daryl Koopersmith 9c7acdfe7c Media: Add a basic starting frame for upload/library selection.
`media.view.MediaFrame.Select` is a frame class with a handful of sensible defaults to handle selecting and uploading items in the media library.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 09:47:12 +00:00
Daryl Koopersmith 76b23b3d48 Media: Add size dropdown to attachment display settings in the media modal. fixes #22206, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22493 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 06:15:25 +00:00
Daryl Koopersmith 9c4214745b Media: Ensure search box reflects actual search state.
* Also switches search box to use `<input type="search" />` to take advantage of browser UI to clear the field.

fixes #22315, see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22487 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 04:44:31 +00:00
Daryl Koopersmith dd504180f7 Media: In the main media library in the insert media dialog, only show attachment display settings when one attachment is selected. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22482 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 02:11:37 +00:00
Daryl Koopersmith 21ff438642 Media: Add batch insertion workflow. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22480 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 01:44:02 +00:00
Daryl Koopersmith 23b62b3d77 Media JS: Use correct variable name when binding to the `change:library` event. see [22477], #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22478 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 01:24:55 +00:00
Daryl Koopersmith 103694aa4f Media JS: Add JIT composite library creation/destruction to states to allow for dynamically excluded Attachment models. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22477 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-09 01:23:20 +00:00
Daryl Koopersmith fe570eb90c Media JS: Add media.model.Composite, to aid in the representation of joint views. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22467 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-08 15:32:40 +00:00
Daryl Koopersmith ef0774026b Media: Improve sidebar handling and make attachment display properties attachment-specific.
`wp.mce.media`
* Watch all workflows for the `insert` event and attempt to insert the current state's `selection` if it exists.
* Fetch and pass attachment display properties through to `wp.media.string.image()`.

`wp.media.controller.Region`
* Separate the concept of events and modes.
* All events triggered on a `Region` trigger both `event` and `event:mode` callbacks.
* When a mode is deactivated, `deactivate` and `deactivate:mode` events are fired.
* When a mode is activated, `activate` and `activate:mode` events are fired.

`wp.media.controller.Library`
* Remove the `details()`, `buildDetails()`, and `clearDetails()` methods that juggled sidebar views. Instead, handle the sidebar views using modes.

`wp.media.controller.Gallery`
* Shift the overloaded `sidebar()` method to use modes.

`wp.media.view.MediaFrame.Post`
* Declare `activate:mode` event bindings using an nested object to reduce repetition.
* Update sidebar activation callbacks.

`wp.media.view.Settings`
* Refactor to leverage HTML data attributes and implicit values (instead of setting the fallback whenever an object was created). This has the additional benefit that gallery shortcode parameters are not output when the user has left them set to the default.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22466 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-08 14:15:09 +00:00
Daryl Koopersmith 4daeaf464d Media: Improve memory management of views, events, and DOM nodes. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22454 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-07 22:43:16 +00:00
Daryl Koopersmith 90781c9e83 Media: Integrate the gallery workflow with the media menu.
`wp.media.model.Query.more()`
* If a request has already been sent out for more attachments, return that request object instead of creating another.

`wp.media.controller.Region`
* A region allows views to be swapped in and out of a section of the page without either view having to know about the other.
* Application components can use the same callbacks and resources by leveraging `Region.mode()`, which triggers a set of callbacks to create or transform the current view, but only if necessary.

`wp.media.view.Frame`
* Leverage `Region` controllers instead of forcing states to swap view objects, which causes states to fit more comfortably in the controller-camp.
* Add `previous()`, a method to fetch the previous state `id`.
* Separate out the default settings over several objects (so blank frames can be instantiated).

`wp.media.view.MediaFrame`
* The base `Frame` used for media management: handles integration with the `Modal` and `UploaderWindow` views.

`wp.media.view.MediaFrame.Post`
* Includes all default media states and callbacks necessary for inserting media into a post.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-07 20:14:41 +00:00
Daryl Koopersmith 349afb3c4f Media JS: Move state-related logic from sidebar views to the state controllers. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-06 01:19:39 +00:00
Daryl Koopersmith 825bea7637 Media: Show an inline uploader when the media library is empty.
Merges most of `wp.media.controller.Upload` into `wp.media.controller.Library`, so we always create an inline uploader instead of an attachments browser if the state's `library` is empty.

props rzen, fixes #22323, see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-05 02:43:47 +00:00
Daryl Koopersmith 92823b8635 Streamlining media, part I.
The main goal here is to rearrange the media components in a modularized structure to support more linear workflows. This is that structure using the pre-existing workflows, which will be improved over the course of the next few commits.

This leaves a few pieces a bit rough around the edges: namely gallery editing and selecting a featured image.

The fine print follows.

----

'''Styles'''
* Tightened padding around the modal to optimize for a smaller default screen size.
* Added a light dashed line surrounding the modal to provide a subtle cue for the persistent dropzone (which is evolving into a power user feature since we now have a dedicated `upload` state).
* Add a size for `hero` buttons.
* Remove transitions from frame subviews (e.g. menu, content, sidebar, toolbar).

----

'''Code'''

`wp.media.controller.StateManager`
* Don't fire `activate` and `deactivate` if attempting to switch to the current state.

`wp.media.controller.State`
* Add a base state class to bind default methods (as not all states will inherit from the `Library` state).
* On `activate`, fire `activate()`, `menu()`, `content()`, `sidebar()`, and `toolbar()`.
* The menu view is often a shared object (as its most common use case is switching between states). Assign the view to the state's `menu` attribute.
* `menu()` automatically fetches the state's `menu` attribute, attaches the menu view to the frame, and attempts to select a menu item that matches the state's `id`.

`wp.media.controller.Library`
* Now inherits from `wp.media.controller.State`.

`wp.media.controller.Upload`
* A new state to improve the upload experience.
* Displays a large dropzone when empty (a `UploaderInline` view).
* When attachments are uploaded, displays management interface (a `library` state restricted to attachments uploaded during the current session).

`wp.media.view.Frame`
* In `menu()`, `content()`, `sidebar()`, and `toolbar()`, only change the view if it differs from the current view. Also, ensure `hide-*` classes are properly removed.
*

`wp.media.view.PriorityList`
* A new container view used to sort and render child views by the `priority` property.
* Used by `wp.media.view.Sidebar` and `wp.media.view.Menu`.
* Next step: Use two instances to power `wp.media.view.Toolbar`.

`wp.media.view.Menu` and `wp.media.view.MenuItem`
* A new `PriorityList` view that renders a list of views used to switch between states.
* `MenuItem` instances have `id` attributes that are tied directly to states.
* Separators can be added as plain `Backbone.View` instances with the `separator` class.
* Supports any type of `Backbone.View`.

`media.view.Menu.Landing`
* The landing menu for the 'insert media' workflow.
* Includes an inactive link to an "Embed from URL" state.
* Next steps: only use in select cases to allot for other workflows (such as featured images).

`wp.media.view.AttachmentsBrowser`
* A container to render an `Attachments` view with accompanying UI controls (similar to what the `Attachments` view was when it contained the `$list` property).
* Currently only renders a `Search` view as a control.
* Next steps: Add optional view counts (e.g. "21 images"), upload buttons, and collection filter UI.

`wp.media.view.Attachments`
* If the `Attachments` scroll buffer is not filled with `Attachment` views, continue loading more attachments.
* Use `this.model` instead of `this.controller.state()` to allow `Attachments` views to have differing `edge` and `gutter` properties.
* Add `edge()`, a method used to calculate the optimal dimensions for an attachment based on the current width of the `Attachments` container element.
* `edge()` is currently only enabled on resize, as the relative positioning and CSS transforms used to center thumbnails are suboptimal when coupled with frequent resizing.
* Next steps: For infinite scroll performance improvements, look into absolutely positioning attachment views and paging groups of attachment views.

`wp.media.view.UploaderWindow`
* Now generates a `$browser` element as the browse button (instead of a full `UploaderInline` view). Using a portable browse button prevents us from having to create a new `wp.Uploader` instance every time we want access to a browse button.

`wp.media.view.UploaderInline`
* No longer directly linked to the `UploaderWindow` view or its `wp.Uploader` instance.
* Used as the default `upload` state view.

`wp.media.view.Selection`
* An interactive representation of the selected `Attachments`.
* Based on the improved workflows, this is likely overkill. For simplicity's sake, will probably remove this in favor of `SelectionPreview`.

----

see #21390.



git-svn-id: http://core.svn.wordpress.org/trunk@22362 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-04 22:59:12 +00:00
Daryl Koopersmith 9670372812 Media: Update the gallery "add images" state. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22356 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-02 01:20:01 +00:00
Daryl Koopersmith 62771d6824 Media: Update gallery editing to work with the new frame view. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 21:43:59 +00:00
Daryl Koopersmith d16ba6ac18 Media JS: When editing a gallery, prevent attachments from being selected as they are removed. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 20:51:34 +00:00
Daryl Koopersmith 9b1ac05bc0 Remove dead gallery settings code. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 20:00:39 +00:00
Daryl Koopersmith 665fadb7bd Make gallery columns fallback a string, as the accepted values are strings. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22341 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 20:00:02 +00:00
Daryl Koopersmith 632cc5ced6 Add gallery settings to the media modal.
* Abstracts `wp.media.view.AttachmentDisplaySettings` into `wp.media.view.Settings` for managing lists of settings with button groups and select boxes. Settings can optionally be tied to a user setting (i.e. using `getUserSetting`).
* Adds `wp.media.view.Settings.AttachmentDisplay`.
* Adds `wp.media.view.Settings.Gallery`.

see #21390, #21815.


git-svn-id: http://core.svn.wordpress.org/trunk@22340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 19:22:25 +00:00
Daryl Koopersmith f3c673558a Media JS: Several improvements to the Attachment views.
* Bind Attachment details updates to the Attachments initialize method.
* Improve Attachment view unbinding.
* Re-render Attachment views when titles and captions are updated.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-30 23:59:57 +00:00
Daryl Koopersmith fcde71fd77 Media JS: Properly fire the Attachment view details method on render. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22338 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-30 23:41:13 +00:00
Daryl Koopersmith efea572e91 Media JS: Properly build detail views when the selection's single model changes. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22337 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-30 23:36:38 +00:00
Daryl Koopersmith 640edbdfbc Media JS: Improve handling of single attachments in selections.
* Adds `wp.media.model.Selection.single()` to specify a single item used in a multi-item selection.
* Fixes a bug where the `details` class would not be removed when "Clear Selection" was clicked.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-30 23:15:16 +00:00
Daryl Koopersmith faf00687d4 Media JS: Remove unused Attachment view events. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22333 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-30 21:15:46 +00:00
Daryl Koopersmith 097cb6117d Improve selection UI/behavior in the media modal.
* Moves handling which models are in the selection into the `Library` state.
* Adds highlight for the last-selected view in a multi-view state.
* A view must be the last-selected view before it can be deselected.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-30 21:09:45 +00:00
Daryl Koopersmith c0bc7a7903 Add dynamic attachment view sizing. Removes the attachment view zooming in the process. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-29 18:05:03 +00:00
Daryl Koopersmith 16c1011cdb Add attachment details to the media sidebar.
* Also moves most of the `Frame` view's `createSelection` method to a real `Selection` model (which inherits from the `Attachments` model).
* Properly assigns the library within the `Gallery` state, allowing for the `Gallery` state to inherit from the `Library` state.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22323 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-29 15:13:02 +00:00
Daryl Koopersmith aa52a02dd1 Add inline uploader UI to media modal sidebar. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-29 07:38:13 +00:00
Daryl Koopersmith f7c1aaf26d Add a sidebar to the media modal.
* Adds `wp.media.view.Sidebar`, to aid in rendering the sidebar.
* Removes the `directions` from the `Attachments` view and shifts search into a separate view (`wp.mce.view.Search`) that can be relocated at will. This also serves to simplify the `Attachments` view by removing the nested `list` and `$list` parameters.
* Show the toolbar on the featured image workflow, effectively requiring confirmation before closing the dialog.

see #21390, #21776, #21808.


git-svn-id: http://core.svn.wordpress.org/trunk@22321 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-29 06:56:23 +00:00
Daryl Koopersmith 53ccb09bce Give media a heart transplant.
Revises the concept of the media controller and workspace views (i.e. two central points of control) to be more granular. The main media object is now the `Frame`, which is a hybrid view and state machine.

The state machine is a collection of states, which are just generic instances of `Backbone.Model`. This circumvents the problem of juggling global parameters when changing states. Each state contains its own event loop. All events are also forwarded to the frame itself (as is the case in all model/collection relationships).

The frame view contains several regions, each of which can be overridden without harming or re-rendering the other regions. These work well when used in conjunction with the state machine events.

This removes the upload sidebar (don't worry, visible upload UI will return). Drag and drop uploading still works. The ability to upload has been abstracted into its own view (instead of being attached to the central workspace view).

Editing galleries is temporarily broken — the gallery creation and editing experiences will be unified in a future patch.

Adds events to detect dragging changes in `wp.Uploader` and adds methods to detect and leverage browser support for CSS3 transitions.

see #21390, #21809.


git-svn-id: http://core.svn.wordpress.org/trunk@22320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-28 23:29:17 +00:00
Daryl Koopersmith 4188c373fd Correctly assign post_parent to attachments uploaded in the new media modal. fixes #22085, see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-22 17:40:06 +00:00
Daryl Koopersmith 74cea87b2c Add attachment display settings to the media modal.
* Add a media view for button groups.
* Add button dropdown containers.
* Add a dropdown property to the button media model.

fixes #22206, #21814, see #21390, #21813, #21598.


git-svn-id: http://core.svn.wordpress.org/trunk@22247 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-16 19:25:17 +00:00
Daryl Koopersmith 4c9f50537c Media Modal: Attachments on the gallery page now inherit general events with the exception of click-to-select. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22183 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-11 04:04:12 +00:00
Daryl Koopersmith ce36b0b5f0 Media Modal: Only automatically select uploading attachments when in a workflow that supports multiple images.
Fixes a bug in featured images where uploading an image would force you to reopen the modal (as the modal would close on upload).

see #21390, #21776.


git-svn-id: http://core.svn.wordpress.org/trunk@22175 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-11 00:28:01 +00:00
Daryl Koopersmith 9d44f5c57d Add caption and title default values for the attachment view template. see #21390, #21807.
git-svn-id: http://core.svn.wordpress.org/trunk@22174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 23:55:45 +00:00
Daryl Koopersmith 1daa774b27 Caption editing in the media modal library.
* Adds a `describe` option to the workflow controller to support inline caption editing.
* For images, descriptions are mapped to the `caption` attribute.
* For other media items, descriptions are mapped to the `title` attribute.
* Descriptions are saved when the textarea's `change` event fires (i.e. when the textarea is blurred).

fixes #21807, see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22173 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 23:32:48 +00:00
Daryl Koopersmith d1c2c7714c Media JS: More default Attachments view template values. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22161 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 10:45:01 +00:00
Daryl Koopersmith ebe800de42 Media JS: Ensure the subtype key has a default set.
Prevents undefined JS errors in the attachments view template.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22160 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 10:08:43 +00:00
Daryl Koopersmith 38b0a99f26 Show filenames for non-image attachments in the new media modal.
Also passes all attachment model attributes to the attachment view template by default (instead of selecting specific values).

see #21390, #21836.


git-svn-id: http://core.svn.wordpress.org/trunk@22159 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 09:55:47 +00:00
Daryl Koopersmith b2c3153b90 When editing a gallery, images can now be added from the media library.
Enables the "Add images from media library" button when editing. The UX has room for improvement, but it's a start.

see #21390, #21809.


git-svn-id: http://core.svn.wordpress.org/trunk@22157 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 09:30:22 +00:00
Daryl Koopersmith 70bd368ad8 Gallery editing in the media modal.
The edit button on gallery MCE views will open a new instance of the media modal. Images can be removed, uploaded, and reordered. However, the "Add images from media library" button is not yet functional.

see #21390, #21809, #21815.


git-svn-id: http://core.svn.wordpress.org/trunk@22155 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 08:31:12 +00:00
Daryl Koopersmith 4c2f61c767 Improve JavaScript object formatting. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22143 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-09 02:07:09 +00:00
Daryl Koopersmith 6312e4af27 On second thought, we're going to need the library-specific attachment view. see #21390, [22138].
git-svn-id: http://core.svn.wordpress.org/trunk@22139 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-09 00:27:14 +00:00
Daryl Koopersmith 108b0feaed Remove the attachment quick-insert button from the media modal. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22138 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-09 00:21:52 +00:00
Daryl Koopersmith aa19c0d66c Better thumbnail previews in the image editor.
* Images are auto-cropped, then fit to the preview on hover (with a slight delay). This is an experiment; we'll see how it turns out.
* Various style changes.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22137 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-08 23:20:04 +00:00
Daryl Koopersmith 1deab58658 Use the new media modal to insert galleries into TinyMCE and the text editor.
'''Galleries'''

* Gallery insertion from the new media modal (into TinyMCE, the text editor, etc).
* Gallery previews in TinyMCE now use the `wp.mce.views` API.
* Disables the TinyMCE `wpgallery` plugin.
* Gallery previews consist of the first image of the gallery and the appearance of a stack. This will later be fleshed out to include more images/functionality (including editing the gallery, gallery properties, and showing the number of images in the gallery).
* Multiple galleries can be added to a single post.
* The gallery MCE view provides a bridge between the `wp.shortcode` and `Attachments` representation of a gallery, which allows the existing collection to persist when a gallery is initially created (preventing a request to the server for the query).


'''Shortcodes'''

* Renames `wp.shortcode.Match` to `wp.shortcode` to better expose the shortcode constructor.
* The `wp.shortcode` constructor now accepts an object of options instead of a `wp.shortcode.regexp()` match.
* A `wp.shortcode` instance can be created from a `wp.shortcode.regexp()` match by calling `wp.shortcode.fromMatch( match )`.
* Adds `wp.shortcode.string()`, which takes a set of shortcode parameters and converts them into a string.* Renames `wp.shortcode.prototype.text()` to `wp.shortcode.prototype.string()`.
* Adds an additional capture group to `wp.shortcode.regexp()` that records whether or not the shortcode has a closing tag. This allows us to improve the accuracy of the syntax used when transforming a shortcode object back into a string.

'''Media Models'''

* Prevents media `Query` models from observing the central `Attachments.all` object when query args without corresponding filters are set (otherwise, queries quickly amass false positives).
* Adds `post__in`, `post__not_in`, and `post_parent` as acceptable JS attachment `Query` args.
* `Attachments.more()` always returns a `$.promise` object.

see #21390, #21809, #21812, #21815, #21817.


git-svn-id: http://core.svn.wordpress.org/trunk@22120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-05 04:23:59 +00:00
Daryl Koopersmith e687b66922 Allow galleries to be reordered by drag and drop.
An `Attachments` view now accepts a `sortable` property. Manual sorting is only enabled when the corresponding collection doesn't have a comparator.

jQuery UI sortable must be enqueued for sorting to work.

see #21390, #21809.


git-svn-id: http://core.svn.wordpress.org/trunk@22101 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-03 04:21:50 +00:00
Daryl Koopersmith 3cf9d9d905 Add quick insert buttons to attachment views in the library and remove buttons to attachment views in the gallery editor. see #21390, #21809.
git-svn-id: http://core.svn.wordpress.org/trunk@22053 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 07:45:26 +00:00
Daryl Koopersmith e14d191fb6 Media JS: Use a custom Attachment views for both the media library and gallery screens.
To do so, the Attachment view code had to be shifted above the Workspace view code to ensure the subview is defined (preventing errors).

Also corrects an error in `wp.media.view.Attachments.add` where it was still using the default Attachment view.

see #21390, #21809.


git-svn-id: http://core.svn.wordpress.org/trunk@22046 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 06:53:54 +00:00
Daryl Koopersmith 7ac50f4811 Media JS: Give the master Workspace view control over which Attachment view it uses. see #21390, #21807, #21809.
git-svn-id: http://core.svn.wordpress.org/trunk@22045 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 06:39:12 +00:00
Daryl Koopersmith a9d3197c28 Media JS: Move the modal box's title from being stored in the modal view to being stored as an attribute on the workflow. Update modal titles for both the post media and featured image workflows. see #21390, #21776.
git-svn-id: http://core.svn.wordpress.org/trunk@22044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 06:20:22 +00:00
Daryl Koopersmith 588be949b1 Automatically add any uploading media files to the group of selected files.
This also automatically adds any files uploaded on the gallery screen to that gallery.

see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 05:28:37 +00:00
Daryl Koopersmith eec758fd26 BUTTON.
Add a "Beta Media" button to the post editor. Currently, it is only capable of inserting images. Other attachment types and galleries need not apply... yet.

* Added `wp.media.string.image( attachment, props )` for generating an image as a string from an attachment and relevant attachment display properties.
* Properly localized the gallery workflow.
* Added `Workflow.update()`, which closes the modal, triggers an `update` event, and resets the selection.
* Added `wp.mce.media` to manage the various media workflows for editors.

see #21813, #21814, #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 04:09:43 +00:00
Daryl Koopersmith 9a0255e60d Apply localized strings to media modal. see #21390, #21808.
git-svn-id: http://core.svn.wordpress.org/trunk@22029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 01:11:04 +00:00
Daryl Koopersmith 96a572d986 Media JS: Improve UX for which buttons show when inserting media into a post.
'Insert into post' is the primary action when either one item is selected, or any number of non-image items are selected. If multiple images are selected, 'Insert into post' becomes secondary, and 'Create a new gallery' takes the primary spot.

Adds a method to `get` Button views from the Toolbar. Adds a model for certain button attributes to allow size, style, and text to be easily changed.

see #21390, #21808, #21809.


git-svn-id: http://core.svn.wordpress.org/trunk@22027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 00:59:04 +00:00
Daryl Koopersmith 9e7a77aeda Limit the featured image workflow to images only.
Adds the ability to set the values used to instantiate both the Workflow's library and selection.
Renames the Workflows internal `_pending` variable to prevent conflicts with a similarly named internal `Backbone.Model` variable.

see #21390, #21776.


git-svn-id: http://core.svn.wordpress.org/trunk@22022 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 21:40:02 +00:00
Daryl Koopersmith 2f4a7a42b7 Media JS: Prevent infinite scroll events from being unbound when Attachments views are re-rendered. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@21908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-19 01:00:34 +00:00
Daryl Koopersmith 3ec7265074 The first inklings of a gallery management screen.
* Adds `view.Workspace.Library` and `view.Workspace.Gallery` as extensions of `view.Workspace` to implement the individual screens
* Shifts the toolbar logic that was library-specific from the generic `Workspace` view to `Workspace.Library`.
* Adds a toolbar to the `Gallery` view.
* 'Create a gallery' and 'Return to media library' buttons toggle between the two views.
* 'Insert gallery into post' closes the modal, but does not actually perform its namesake action.
* Note that elements can still be deselected in the gallery view. This will be fixed in a future commit.

Improvements to avoid over-eager event unbinding:
* `Modal` views now properly detach their contents before replacing them with a new element.
* Likewise, `Workspace` views detach their main content blocks when re-rendering the view.

To test the gallery workflow (which is incomplete), run the following in your browser's console:

	`wp.media({ multiple: true });`

see #21809, #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@21906 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-19 00:34:00 +00:00
Daryl Koopersmith 80e443d0df Media JS: Improve auto-add functionality in Workspace.render(). see #21390, [21901].
git-svn-id: http://core.svn.wordpress.org/trunk@21902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-18 22:59:57 +00:00
Daryl Koopersmith a9ca915252 Media JS: Improve signature for `Workspace.add()` to accept two arguments instead of an ambiguous object. see #21390, [21820], [21821].
git-svn-id: http://core.svn.wordpress.org/trunk@21901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-18 22:41:51 +00:00
Daryl Koopersmith 380dfbbeab Allow JS Attachments models to be searchable and sortable.
Moves `wp.media.model.Query` sorting and searching to the parent `wp.media.model.Attachments`.

Query parameters are stored in `attachments.props`, which is a `Backbone.Model`, and supports `order` (`'ASC'` or `'DESC'`), `orderby` (any `Attachment` model property name), `search` (a search term), and `query` (a boolean value that ties the `Attachments` collection to the server).

`wp.media.query( args )` now returns an `Attachments` set that is mapped to a `Query` collection instead of the `Query` collection itself. This allows you to change the query arguments by updating `attachments.props` instead of fetching the mirrored arguments, changing them, and passing them to `wp.media.query()` again.

fixes #21921, see #21390, #21809.


git-svn-id: http://core.svn.wordpress.org/trunk@21898 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-18 21:42:29 +00:00
Daryl Koopersmith 3ebb9b4538 Media JS: When adding a view to a media workflow, add a shorthand for registering a view constructor with no options. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@21821 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 21:21:32 +00:00
Daryl Koopersmith b514f391cd Media JS: Add support for multiple views to the media workflow controller. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@21820 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 21:13:07 +00:00
Daryl Koopersmith 7fb2c8b4f7 Use JS Attachment models in wp.Uploader. fixes #21868.
Moves the uploading Attachments queue from the media workspace view to the uploader itself. This ensures that all attachments are added to the central attachmnet store.

Updates wp.Uploader to pass Attachment models to callbacks instead of Plupload file objects. Attachments in the process of uploading have a reference to the file object (which can be fetched by calling `attachment.get('file');`).

Also updates the customizer to be compatible with the API changes.


git-svn-id: http://core.svn.wordpress.org/trunk@21814 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 16:55:58 +00:00
Daryl Koopersmith fee99ba9b4 Use icons for non-image attachments in the new media modal. see #21836, #21390, #21808.
git-svn-id: http://core.svn.wordpress.org/trunk@21784 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-07 21:27:07 +00:00
Daryl Koopersmith 1e28b7c8cb Media JS: Apply selection when Attachment models are initially rendered.
This allows us to automatically retain selections when the library context is changed (e.g. when searching. This changes the Attachment view's select() and deselect() methods so that they can be triggered directly.

see #21390.



git-svn-id: http://core.svn.wordpress.org/trunk@21773 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-06 13:35:33 +00:00
Daryl Koopersmith 2441d98446 Prevent JS events from being garbage collected when a media.view.Modal is re-rendered. see #21390, #21776.
git-svn-id: http://core.svn.wordpress.org/trunk@21771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-06 09:19:03 +00:00
Daryl Koopersmith 43fc38330a Adds UI for media modal toolbars, buttons, and the selected item(s) status.
Currently uses actions for inserting media into a post as an example (hence the raw text). To test a workflow that supports multiple selection, run the following in your browser's JavaScript console:

	wp.media({ multiple: true });

see #21390, #21808.



git-svn-id: http://core.svn.wordpress.org/trunk@21769 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-06 07:46:15 +00:00
Daryl Koopersmith c217397faa Add new media workflow scripts, styles, and templates.
Please note that this commit does not integrate media into the existing UI. If you would like to see the new UI, navigate to the post editor and run the following in your browser's Javascript console:

	new wp.media.controller.Workflow().render().modal.open();


The Javascript is broken up into two files, with the slugs media-models and media-views.

* media-models: The models are UI agnostic, and can be used independent of the views. If you'd like to create custom UIs, this is the script for you.

* media-views: This is the Media Experience. The views (and controllers) depend on the models (which are listed as a dependency and will automatically be included thanks to wp_enqueue_script). The views also require the media templates, media-view styles, and the plupload bridge settings. Perhaps we should create a function to include the whole shebang, but in the meantime...

To include media-views in the admin, run the following PHP in or after 'admin_enqueue_scripts':

	wp_enqueue_script( 'media-views' );
	wp_enqueue_style( 'media-views' );
	wp_plupload_default_settings();
	add_action( 'admin_footer', 'wp_print_media_templates' );

see #21390.



git-svn-id: http://core.svn.wordpress.org/trunk@21683 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-31 04:54:23 +00:00