Commit Graph

1130 Commits

Author SHA1 Message Date
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
ca4275859f MCE Views: Use default shortcode properties when the shortcode parameter is set.
Prevents devs from having to manually extend the default shortcode property object.

see #21390, #21812.


git-svn-id: http://core.svn.wordpress.org/trunk@22102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-03 06:40:07 +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
6353c72bb8 Update underscore.js to version 1.4.1. fixes #22081, see #22026.
git-svn-id: http://core.svn.wordpress.org/trunk@22100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-03 00:27:16 +00:00
Daryl Koopersmith
dbbcf97f86 Update underscore.js to version 1.4.0. fixes #22026.
git-svn-id: http://core.svn.wordpress.org/trunk@22076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 23:38:47 +00:00
Bot (Assets)
8c36f67e11 Compress scripts/styles: 3.5-alpha-22071.
git-svn-id: http://core.svn.wordpress.org/trunk@22071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 19:21:47 +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
336cd3d632 When uploading files through the Plupload bridge, attempt to detect images on upload. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 05:52:42 +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
Bot (Assets)
baaf5c4cf8 Compress scripts/styles: 3.5-alpha-22024.
git-svn-id: http://core.svn.wordpress.org/trunk@22024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 22:58:46 +00:00
Daryl Koopersmith
70616185c6 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: http://core.svn.wordpress.org/trunk@22023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 22:20:15 +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
9e51aebdd7 Media JS: Add support for filtering Attachment collections by mime type. see #21390, #21776, #21809.
git-svn-id: http://core.svn.wordpress.org/trunk@22021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 20:50:13 +00:00
Andrew Nacin
1acd8b556f New HiDPI spinner. Uses clean <span class="spinner"></span> markup.
Be on the lookout for weirdness.
props lessbloat. see #21456.



git-svn-id: http://core.svn.wordpress.org/trunk@22019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 19:57:44 +00:00
Daryl Koopersmith
669b4b3a6d Media JS: Use correct reference to search term in the Attachments model search filter. see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@22013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 15:13:22 +00:00
Daryl Koopersmith
67708a3d8b 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: http://core.svn.wordpress.org/trunk@22012 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 14:12:54 +00:00
Daryl Koopersmith
9186ea913c 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: http://core.svn.wordpress.org/trunk@22004 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 01:00:08 +00:00
Andrew Nacin
70ae01e133 Do not use time constants in files the WP bootstrap is not or may not be loaded. see #20987.
git-svn-id: http://core.svn.wordpress.org/trunk@21997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-25 07:05:48 +00:00
Andrew Nacin
557d9313a7 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: http://core.svn.wordpress.org/trunk@21996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-25 05:26:19 +00:00
Bot (Assets)
e7f164297f Compress scripts/styles: 3.5-alpha-21964. TinyMCE updated.
git-svn-id: http://core.svn.wordpress.org/trunk@21964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-24 03:24:33 +00:00
Andrew Ozz
6da86aa93f 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: http://core.svn.wordpress.org/trunk@21963 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-24 03:08:31 +00:00
Daryl Koopersmith
f4478ab647 Improve documentation for wp.mce.view.add(). Store view id in view options. see #21812.
git-svn-id: http://core.svn.wordpress.org/trunk@21962 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-24 02:18:15 +00:00
Daryl Koopersmith
cd5f64584e Makes custom TinyMCE views easier to implement.
For details and examples, see the ticket.

props azaozz, fixes #21812.


git-svn-id: http://core.svn.wordpress.org/trunk@21961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-24 00:13:18 +00:00
Andrew Nacin
c42200ec11 jQuery 1.8.2. props ocean90, fixes #21957.
git-svn-id: http://core.svn.wordpress.org/trunk@21958 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-23 18:53:44 +00:00
Andrew Nacin
5f2946ba42 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: http://core.svn.wordpress.org/trunk@21934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-21 03:13:19 +00:00
Bot (Assets)
fabcc374fd Compress scripts/styles: 3.5-alpha-21920.
git-svn-id: http://core.svn.wordpress.org/trunk@21920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-19 18:59:36 +00:00
Andrew Nacin
52320dc5b3 It is 'Alternative Text', not 'Alternate Text'. props alecrust, RyanJKoehler. fixes #21176.
git-svn-id: http://core.svn.wordpress.org/trunk@21917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-19 16:55:43 +00:00
Daryl Koopersmith
f7ae81b15d Rename the attachment-thumbnail class in the media modal Attachment view to prevent conflicts with wp_get_attachment_image(). see #21390.
git-svn-id: http://core.svn.wordpress.org/trunk@21909 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-19 01:10:17 +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
751ecf9fd5 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: http://core.svn.wordpress.org/trunk@21900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-18 22:19:05 +00:00
Bot (Assets)
9481b4ae89 Compress scripts/styles: 3.5-alpha-21899.
git-svn-id: http://core.svn.wordpress.org/trunk@21899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-18 21:59:34 +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
Bot (Assets)
4a8bb5e3f8 Compress scripts/styles: 3.5-alpha-21879. TinyMCE updated.
git-svn-id: http://core.svn.wordpress.org/trunk@21879 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-17 00:59:40 +00:00
Andrew Ozz
b9d4bd8382 Switch TinyMCE's schema to 'html5', add 'autofocus' to the attributes map for <input>, part props SergeyBiryukov, fixes #13314
git-svn-id: http://core.svn.wordpress.org/trunk@21875 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-16 21:20:35 +00:00
Andrew Nacin
2f7bb69ffa Switch to sans-serif for the font stack in Thickbox as we have done elsewhere. props wet, fixes #20268.
git-svn-id: http://core.svn.wordpress.org/trunk@21834 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-13 17:08:01 +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
Andrew Nacin
aa543734b8 Fix adding and updating from the Custom Fields meta box. Broken in [21205]. props SergeyBiryukov. see #21829 for trunk.
git-svn-id: http://core.svn.wordpress.org/trunk@21781 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-07 15:49:20 +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