Commit Graph

1118 Commits

Author SHA1 Message Date
Daryl Koopersmith 692d806fff 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: https://develop.svn.wordpress.org/trunk@22036 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 04:09:43 +00:00
Daryl Koopersmith 2fea9cef7e Apply localized strings to media modal. see #21390, #21808.
git-svn-id: https://develop.svn.wordpress.org/trunk@22029 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 01:11:04 +00:00
Daryl Koopersmith 419a03862e 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: https://develop.svn.wordpress.org/trunk@22027 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-27 00:59:04 +00:00
bumpbot 04889ca5f0 Compress scripts/styles: 3.5-alpha-22024.
git-svn-id: https://develop.svn.wordpress.org/trunk@22024 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 22:58:46 +00:00
Daryl Koopersmith fd3a6616c0 Remove internal TinyMCE attributes when generating the HTML for attachment views.
Moves the HTML utility functions to the top of `mce-views.js`. Also adds `wp.mce.view.removeInternalAttrs( attrs )` and `wp.mce.view.attrs( content )`.

see #21390, #21812, #21813.


git-svn-id: https://develop.svn.wordpress.org/trunk@22023 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 22:20:15 +00:00
Daryl Koopersmith 749fcf84f9 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: https://develop.svn.wordpress.org/trunk@22022 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 21:40:02 +00:00
Daryl Koopersmith 4a90e0541a Media JS: Add support for filtering Attachment collections by mime type. see #21390, #21776, #21809.
git-svn-id: https://develop.svn.wordpress.org/trunk@22021 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 20:50:13 +00:00
Andrew Nacin e82d5080b8 New HiDPI spinner. Uses clean <span class="spinner"></span> markup.
Be on the lookout for weirdness.
props lessbloat. see #21456.



git-svn-id: https://develop.svn.wordpress.org/trunk@22019 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 19:57:44 +00:00
Daryl Koopersmith af4607a11e Media JS: Use correct reference to search term in the Attachments model search filter. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22013 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 15:13:22 +00:00
Daryl Koopersmith 0dd940e0c1 First pass on TinyMCE attachment in-editor UI.
* Adds in-editor UI for image attachments. Most of this UI should be able to migrate to all images in a future commit.
* Removes the wpeditimage TinyMCE plugin from the default plugins array.
* Add `wp.media.fit`, a helper method to constrain dimensions based upon a maximum width and/or height.
* Add html attribute parsing and string generation utilities (currently stored in mce-views).
* Calling `remove` on a TinyMCE views now ensures that the the parent and references are removed as well.
* Fixes a bug where we weren't sending the full array of results to matches in wp.mce.view.

see #21390, #21812, #21813.



git-svn-id: https://develop.svn.wordpress.org/trunk@22012 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 14:12:54 +00:00
Daryl Koopersmith c133581a81 Add JavaScript methods for handling shortcodes.
Adds `wp.shortcode`, a set of methods used for parsing shortcodes out of content. Also adds a default set of shortcode properties to `wp.mce.view`.

fixes #21996, see #21812, #21813, #21815.


git-svn-id: https://develop.svn.wordpress.org/trunk@22004 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-26 01:00:08 +00:00
Andrew Nacin 14592e8dd1 Do not use time constants in files the WP bootstrap is not or may not be loaded. see #20987.
git-svn-id: https://develop.svn.wordpress.org/trunk@21997 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-25 07:05:48 +00:00
Andrew Nacin 774a12be83 Introduce constants to allow for easier expression of time periods in seconds. Adds MINUTE_IN_SECONDS, HOUR_IN_SECONDS, DAY_IN_SECONDS, WEEK_IN_SECONDS, YEAR_IN_SECONDS. props nbachiyski, SergeyBiryukov. fixes #20987.
git-svn-id: https://develop.svn.wordpress.org/trunk@21996 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-25 05:26:19 +00:00
bumpbot 327697fc6d Compress scripts/styles: 3.5-alpha-21964. TinyMCE updated.
git-svn-id: https://develop.svn.wordpress.org/trunk@21964 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-24 03:24:33 +00:00
Andrew Ozz 13148ff6ce DFW: add scroll locking to prevent scrolling to top in WebKit on paste, add auto-resize throttling to 0.5 sec, only compare scrollHeight values (works well in all supported browsers), fixes #21979
git-svn-id: https://develop.svn.wordpress.org/trunk@21963 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-24 03:08:31 +00:00
Daryl Koopersmith 1032d728f9 Improve documentation for wp.mce.view.add(). Store view id in view options. see #21812.
git-svn-id: https://develop.svn.wordpress.org/trunk@21962 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-24 02:18:15 +00:00
Daryl Koopersmith 0a0732f9ab Makes custom TinyMCE views easier to implement.
For details and examples, see the ticket.

props azaozz, fixes #21812.


git-svn-id: https://develop.svn.wordpress.org/trunk@21961 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-24 00:13:18 +00:00
Andrew Nacin 9a0935e055 jQuery 1.8.2. props ocean90, fixes #21957.
git-svn-id: https://develop.svn.wordpress.org/trunk@21958 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-23 18:53:44 +00:00
Andrew Nacin cc6c48b945 Remove ui.css from WP's TinyMCE theme. It was left for back compat with a reference to editor-buttons.css, which was never updated to editor.css and no one noticed.
git-svn-id: https://develop.svn.wordpress.org/trunk@21934 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-21 03:13:19 +00:00
bumpbot 42f1232e5e Compress scripts/styles: 3.5-alpha-21920.
git-svn-id: https://develop.svn.wordpress.org/trunk@21920 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-19 18:59:36 +00:00
Andrew Nacin 8aee69730b It is 'Alternative Text', not 'Alternate Text'. props alecrust, RyanJKoehler. fixes #21176.
git-svn-id: https://develop.svn.wordpress.org/trunk@21917 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-19 16:55:43 +00:00
Daryl Koopersmith 7b999727ce Rename the attachment-thumbnail class in the media modal Attachment view to prevent conflicts with wp_get_attachment_image(). see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@21909 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-19 01:10:17 +00:00
Daryl Koopersmith 3de3ed85fd Media JS: Prevent infinite scroll events from being unbound when Attachments views are re-rendered. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@21908 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-19 01:00:34 +00:00
Daryl Koopersmith 4442437bd5 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: https://develop.svn.wordpress.org/trunk@21906 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-19 00:34:00 +00:00
Daryl Koopersmith 3d6738c786 Media JS: Improve auto-add functionality in Workspace.render(). see #21390, [21901].
git-svn-id: https://develop.svn.wordpress.org/trunk@21902 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-18 22:59:57 +00:00
Daryl Koopersmith fd40ade3fb Media JS: Improve signature for `Workspace.add()` to accept two arguments instead of an ambiguous object. see #21390, [21820], [21821].
git-svn-id: https://develop.svn.wordpress.org/trunk@21901 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-18 22:41:51 +00:00
Daryl Koopersmith b2fb76008e Ensure the Attachments model properties are correctly set for Query collections.
After shifting sorting and searching logic from the `Query` collection in [21898], it became apparent that `Query` collections should also have an accurate `props` model, as the model controls the aforementioned searching and sorting.

see #21921, #21809, and #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@21900 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-18 22:19:05 +00:00
bumpbot f947a50647 Compress scripts/styles: 3.5-alpha-21899.
git-svn-id: https://develop.svn.wordpress.org/trunk@21899 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-18 21:59:34 +00:00
Daryl Koopersmith 592b23f94f 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: https://develop.svn.wordpress.org/trunk@21898 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-18 21:42:29 +00:00
bumpbot 4c9bac8206 Compress scripts/styles: 3.5-alpha-21879. TinyMCE updated.
git-svn-id: https://develop.svn.wordpress.org/trunk@21879 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-17 00:59:40 +00:00
Andrew Ozz 2bd5e1830b Switch TinyMCE's schema to 'html5', add 'autofocus' to the attributes map for <input>, part props SergeyBiryukov, fixes #13314
git-svn-id: https://develop.svn.wordpress.org/trunk@21875 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-16 21:20:35 +00:00
Andrew Nacin b0bcbe0b01 Switch to sans-serif for the font stack in Thickbox as we have done elsewhere. props wet, fixes #20268.
git-svn-id: https://develop.svn.wordpress.org/trunk@21834 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-13 17:08:01 +00:00
Daryl Koopersmith 60ee5a5032 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: https://develop.svn.wordpress.org/trunk@21821 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-11 21:21:32 +00:00
Daryl Koopersmith 304569a26c Media JS: Add support for multiple views to the media workflow controller. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@21820 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-11 21:13:07 +00:00
Daryl Koopersmith 1cc9c42bc4 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: https://develop.svn.wordpress.org/trunk@21814 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-11 16:55:58 +00:00
Daryl Koopersmith c7eca8e2d5 Use icons for non-image attachments in the new media modal. see #21836, #21390, #21808.
git-svn-id: https://develop.svn.wordpress.org/trunk@21784 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-07 21:27:07 +00:00
Andrew Nacin 626a4b2a56 Fix adding and updating from the Custom Fields meta box. Broken in [21205]. props SergeyBiryukov. see #21829 for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@21781 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-07 15:49:20 +00:00
Daryl Koopersmith 5b6d894b43 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: https://develop.svn.wordpress.org/trunk@21773 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-06 13:35:33 +00:00
Daryl Koopersmith 8085c5ac5a Prevent JS events from being garbage collected when a media.view.Modal is re-rendered. see #21390, #21776.
git-svn-id: https://develop.svn.wordpress.org/trunk@21771 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-06 09:19:03 +00:00
Daryl Koopersmith ec0ee0164c 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: https://develop.svn.wordpress.org/trunk@21769 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-06 07:46:15 +00:00
bumpbot 04e7435945 Compress scripts/styles: -3.5-21751.
git-svn-id: https://develop.svn.wordpress.org/trunk@21751 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-04 21:59:25 +00:00
Andrew Nacin 3fb49b9ffd Modify a few jQuery selectors to prevent overflows and lagging. Todo, rewrite wp-lists and improve all of these selectors.
props SergeyBiryukov. fixes #21106 for trunk. see #21152.



git-svn-id: https://develop.svn.wordpress.org/trunk@21737 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-04 20:27:14 +00:00
bumpbot a1a32b9013 Compress scripts/styles: 3.5-alpha-21727.
git-svn-id: https://develop.svn.wordpress.org/trunk@21727 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-04 05:07:20 +00:00
Daryl Koopersmith aa1446319d Do not instantiate a Plupload instance when the wp-plupload bridge has neither a browse button nor a dropzone. fixes #21707.
git-svn-id: https://develop.svn.wordpress.org/trunk@21722 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-04 04:10:00 +00:00
Daryl Koopersmith 83cb763ff1 jQuery 1.8.1 final. Also restores jQuery.noConflict(). props ocean90, fixes #21736.
git-svn-id: https://develop.svn.wordpress.org/trunk@21695 602fd350-edb4-49c9-b593-d223f7449a82
2012-09-01 20:47:07 +00:00
bumpbot 67b0862023 Compress scripts/styles: 3.5-alpha-21694.
git-svn-id: https://develop.svn.wordpress.org/trunk@21694 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-31 21:59:26 +00:00
Daryl Koopersmith 44b205c027 Add wp.media(), a function to create a default media workflow.
This will be the main entry point for basic media development, and should hopefully help less experienced developers wrangle the new media APIs.

If you would like to see the new UI, navigate to the post editor and run the following in your browser's Javascript console:

	wp.media();

Well, that certainly feels a lot nicer to type.

see #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@21692 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-31 20:44:02 +00:00
bumpbot 62f79fd6e3 Compress scripts/styles: 3.5-alpha-21690.
git-svn-id: https://develop.svn.wordpress.org/trunk@21690 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-31 18:59:24 +00:00
Daryl Koopersmith 8f7b835954 Media JS: Attachments collection API improvements.
Rename watch() and unwatch() to observe() and unobserve(), respectively, to avoid conflicts with Firefox's proprietary Object.prototype.watch method.

Rename validate() to validator(), and changed() to validate(), as the latter will be more frequently used, and better explains its purpose. Also, make the new validate() more concise.

see #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@21689 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-31 18:38:32 +00:00
bumpbot 7732b3e6e9 Compress scripts/styles: 3.5-alpha-21684.
git-svn-id: https://develop.svn.wordpress.org/trunk@21684 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-31 06:59:25 +00:00