Commit Graph

93 Commits

Author SHA1 Message Date
Scott Taylor b7c8dee8f5 Media Grid: decouple the Grid and Edit modal frames. Next steps: we shouldn't have to reload the frame while paginating.
See #24716.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-10 19:39:14 +00:00
Scott Taylor 1bb24133d9 Improve inline doc descriptions in `media-views.js`.
Props ericlewis.
See #28459.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28506 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-06 14:13:17 +00:00
Helen Hou-Sandí b5ef672c6b Grid view for the media library, first pass. This is alpha; expect imperfection. We will be iterating further.
props ericlewis, shaunandrews, wonderboymusic.
see #24716.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28500 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-05 22:01:18 +00:00
Andrew Ozz 0df02eb8ea Add hooks to the wpeditimage tinymce plugin and to the image details portion of the media modal.
- Add wp.media.events which is intended to be a global media event bus.
- Add a post-render event to the ImageDetails view that third-party code can leverage to add subviews.
- Performance improvement for the initialization of the PostImage model.
- A bit more markup to the image details template to make it easier to add a view to the advanced options.
Props gcorne, fixes #27698
Built from https://develop.svn.wordpress.org/trunk@28095


git-svn-id: http://core.svn.wordpress.org/trunk@27926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-13 04:02:15 +00:00
Andrew Ozz b41e23efac Edit image modal: check if full size exists before trying to use it for setting aspect ratio, props gcorne, see #27366
Built from https://develop.svn.wordpress.org/trunk@27948


git-svn-id: http://core.svn.wordpress.org/trunk@27778 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-04 18:01:17 +00:00
Andrew Ozz a3650b68cd Edit image modal:
- Make the calculation of the aspect ratio more robust.
- Better getting of the image height and width.
Props gcorne, see #27366
Built from https://develop.svn.wordpress.org/trunk@27942


git-svn-id: http://core.svn.wordpress.org/trunk@27772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-04 01:49:15 +00:00
Andrew Ozz a2e1d9f4c8 Edit Image modal:
- Fix issue with adding a link to an image that didn't have one previously.
- Adjust the look-and-feel of the advance options toggle so that it becomes a section heading that can be open/closed.
- Add a Custom Size option to the size drop-down that reveals fields for soft-resizing the image inserted into the post.
Props gcorne, and props sdasse for the design help, see #27366
Built from https://develop.svn.wordpress.org/trunk@27918


git-svn-id: http://core.svn.wordpress.org/trunk@27748 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-03 03:21:15 +00:00
Andrew Nacin c4aab42b4b Media manager: Avoid a blank modal when an invalid image size class is set on the image.
props gcorne.
fixes #24409.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27526 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-24 19:01:15 +00:00
Scott Taylor a17dd704c4 Create a new file, `media-audiovideo.js`, to house all of the audio and video JS code in core.
UX Changes:
* Don't add a menu item for "Add Audio|Video Source"
* In the Audio|Video Details modal, add buttons and some suggestive text for adding alternate playback sources
* Don't show "Create Audio|Video Playlist" menu items until the user has uploaded audio or video files

See #27437.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-19 05:31:15 +00:00
Scott Taylor 608177d39b In `media.model.PostMedia`, for these 2 scenarios:
* `src` is set, and 'Add a Source' results in the same file (or a file with the same extension) being added
* `src` is set, and 'Replace Audio|Video' is used, which will add a model property named by the attachment's extension

... call `model.unset( 'src' )`.

See #27389.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27379 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 13:00: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 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 f0863476f5 In `wp.media.model.PostAudio` and `wp.media.model.PostVideo`, use Underscore's `unset` method when clearing out properties when the attachment changes.
See #27016.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27321 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 01:06: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 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 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
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 7ef7a7cb47 Add some inline docs to methods in `media-models.js` - particularly around `@param` and `@returns`.
See #26870.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-25 08:56:12 +00:00
Scott Taylor bf09d042eb Add some JSDoc annotations to `media-models.js` to disambiguate instance properties and static class properties/methods in the base media Models.
See #26870.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-25 07:39:11 +00:00
Scott Taylor 18b8c717f2 Make some `@param` types more specific in `media-models.js`.
See #26870.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-21 17:37:12 +00:00
Scott Taylor e2cec2e4d8 Add initial JSDoc blocks to `media-models.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@26985


git-svn-id: http://core.svn.wordpress.org/trunk@26862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-20 23:40:11 +00:00
Sergey Biryukov ef621a3c8b Fix JSHint errors in media-models.js.
props kadamwhite.
fixes #26132.
Built from https://develop.svn.wordpress.org/trunk@26295


git-svn-id: http://core.svn.wordpress.org/trunk@26200 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-20 23:07:10 +00:00
Sergey Biryukov 6509e4e686 Declare args as a local variable. props greuben. fixes #25078.
Built from https://develop.svn.wordpress.org/trunk@25080


git-svn-id: http://core.svn.wordpress.org/trunk@25065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-22 02:11:08 +00:00
Mark Jaquith ea1092eb7c Parse `attrs` before comparing to `attachment.attributes`. Small efficiency gain.
Props garyc40. Fixes #24753.

git-svn-id: http://core.svn.wordpress.org/trunk@24800 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-27 07:09:05 +00:00
Mark Jaquith bbf338666e Fix a media regression in [24110] that could cause duplicate models.
Props garyc40. Fixes #24753. See #24094, #23830.

git-svn-id: http://core.svn.wordpress.org/trunk@24771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-22 22:24:33 +00:00
Andrew Nacin 721f7ba271 Rename wp.xhr to wp.ajax to match admin-ajax.php (which it uses), jQuery.ajax (which it wraps), etc. see #24424.
git-svn-id: http://core.svn.wordpress.org/trunk@24652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-11 00:20:36 +00:00
Daryl Koopersmith 6a4d212138 Move XHR helpers from media to utils. See #24424.
git-svn-id: http://core.svn.wordpress.org/trunk@24369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-26 06:58:01 +00:00
Daryl Koopersmith c4fe4ebd42 Alias media.template to wp.template. See #23263, #24424.
git-svn-id: http://core.svn.wordpress.org/trunk@24366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-26 05:55:49 +00:00
Mark Jaquith 82df929f30 Fix the appearance of a blank media item due to [23893].
props kovshenin. fixes #24094.

git-svn-id: http://core.svn.wordpress.org/trunk@24110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-26 15:10:06 +00:00
Andrew Nacin ec0e3724e1 Backbone 1.0.0.
Update media JS to reflect changes. Please open new tickets for remaining issues.

props koopersmith.
fixes #23830.



git-svn-id: http://core.svn.wordpress.org/trunk@23893 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-03 17:40:52 +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
Daryl Koopersmith 30440dbb66 Add a canonical location for media frames, an alias to fetch attachments, and frame caching to custom header. fixes #22775.
git-svn-id: http://core.svn.wordpress.org/trunk@23092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 05:06:49 +00:00
Andrew Nacin a914ab2e43 Media models: Trac and ignore deleted attachments.
Treat an admin-ajax response of 1 as successful for backwards compatibility with existing handlers.

props koopersmith. fixes #22750.



git-svn-id: http://core.svn.wordpress.org/trunk@23057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 02:31:41 +00:00
Ryan Boren edf9769d26 In the media modal, clear attachment details when clearing the selection.
Props koopersmith
fixes #22718


git-svn-id: http://core.svn.wordpress.org/trunk@23045 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-04 22:19:08 +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 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 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 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 a5549c1d16 Avoid leaking the 'media' var into the global JS namespace. props koopersmith, fixes #22676.
git-svn-id: http://core.svn.wordpress.org/trunk@22968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-02 16:32:47 +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 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
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 cc9b248937 Always send nocache_headers() for admin-ajax.php. This prevents iOS from caching ajax calls. http://stackoverflow.com/questions/12506897/is-safari-on-ios-6-caching-ajax-results
Turn off multi selection uploads for mobile devices. Currently Plupload cannot upload multiple files in iOS Safari. Only the first file makes it to the queue. 

Empty wp on unload to work around caching in iOS Safari.

Props azaozz, miqrogroove, nacin

fixes #22552


git-svn-id: http://core.svn.wordpress.org/trunk@22872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-27 16:17:53 +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 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 2105efa5bf Correctly access the nonce to save attachment fields. Fixes firing attachment_fields_to_save.
Props koopersmith
fixes #22577


git-svn-id: http://core.svn.wordpress.org/trunk@22842 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-26 15:07:36 +00:00