Commit Graph

1116 Commits

Author SHA1 Message Date
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
Daryl Koopersmith
5a4a17687a 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: https://develop.svn.wordpress.org/trunk@21683 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-31 04:54:23 +00:00
bumpbot
bca5b5538d Compress scripts/styles: 3.5-alpha-21663.
git-svn-id: https://develop.svn.wordpress.org/trunk@21663 602fd350-edb4-49c9-b593-d223f7449a82
2012-08-30 04:09:57 +00:00