Commit Graph

1619 Commits

Author SHA1 Message Date
Daryl Koopersmith
c2e7a67fbe 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: https://develop.svn.wordpress.org/trunk@23589 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-03 07:04:06 +00:00
Helen Hou-Sandi
45b4d47b02 * Simplify jQuery UI slider CSS and bring into line with admin styles.
* Merge styles into wp-admin.css and colors-*.css.
* Scope the CSS with a class so as not to conflict with the color picker, which also utilizes jQuery UI slider. Authors wanting to use built-in styling for sliders should add a class of `.wp-slider` to the container to be intialized.

props karmatosed, helen. see #23497.


git-svn-id: https://develop.svn.wordpress.org/trunk@23581 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-01 19:24:03 +00:00
Andrew Nacin
5a2b79d914 jQuery Migrate 1.1.1. props ocean90. see #22975.
git-svn-id: https://develop.svn.wordpress.org/trunk@23516 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-28 18:02:26 +00:00
Helen Hou-Sandi
7f7f9a805c Merge revisions.css into wp-admin.css. Move misplaced block of revisions CSS in wp-admin.css into appropriate section. Some standards clean up and selector merging. see #23497.
git-svn-id: https://develop.svn.wordpress.org/trunk@23507 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-28 15:40:44 +00:00
Peter Westwood
554627a0d5 Revisions: First pass an implementing a new UI/UX for reviewing the revisions of posts. See #23497 props adamsilverstein for the initial patch.
This implements a new revisions ui using Backbone and preserves all the old methods of "integration" so the change should be transparent to plugins using revisi
ons with CPTs.

This is the first pass and so there are a number of things still to be resolved, more details in the ticket. Feedback welcomed.


git-svn-id: https://develop.svn.wordpress.org/trunk@23506 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-28 15:14:34 +00:00
Andrew Ozz
756c28bf5c Post locks: use heartbeat to dynamically update locked posts on the Posts screen, first run, see #23312
git-svn-id: https://develop.svn.wordpress.org/trunk@23487 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-25 23:17:10 +00:00
Helen Hou-Sandi
5b3c058bd5 Edit screen UI for post formats: a first run for functionality.
* Adds a very basic tabbed interface for selecting a post format (requires JS).
* Extra fields, which are post meta, are shown/hidden based on the selected format.
* Introduce a helper function for retrieving formats-specific metadata: `get_post_format_meta()`.
* Image selection uses the media modal, although without filtering or from URL support at the moment.

props rachelbaker, wonderboymusic, aaroncampbell, helen. see #19570.


git-svn-id: https://develop.svn.wordpress.org/trunk@23449 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-18 19:11:24 +00:00
Andrew Nacin
038439326d Remove unused admin-categories and admin-custom-fields JavaScript files. props ocean90. fixes #23486.
git-svn-id: https://develop.svn.wordpress.org/trunk@23446 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-16 19:03:59 +00:00
Andrew Nacin
0c89805886 jQuery UI 1.10.1.
props ocean90. see #23370.



git-svn-id: https://develop.svn.wordpress.org/trunk@23442 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-16 17:40:37 +00:00
Andrew Nacin
d9e2f14dca jQuery UI 1.10.0.
Some lingering issues with the edit/insert link dialog.

props ocean90.
see #23370.



git-svn-id: https://develop.svn.wordpress.org/trunk@23423 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-15 16:13:26 +00:00
Andrew Nacin
88b8e29f0d jQuery 1.9.1 and jQuery Migrate 1.1.0.
Remains uncompressed for now, until we work out all 1.9.x issues.
Fixes custom fields.

props ocean90, wonderboymusic. see #22975.



git-svn-id: https://develop.svn.wordpress.org/trunk@23421 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-15 16:09:04 +00:00
Mark Jaquith
bfd0b6fb37 Refactor the Customizer accordion so that it can be used in other locations.
fixes #23449. props lessbloat, aaroncampbell

git-svn-id: https://develop.svn.wordpress.org/trunk@23417 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-14 22:58:04 +00:00
Mark Jaquith
e3a1266c0c Revert [23375] until we can get Media fixed to work with newer versions of Backbone. see #23262
git-svn-id: https://develop.svn.wordpress.org/trunk@23390 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-08 03:15:22 +00:00
Mark Jaquith
bd80d92a89 Update Underscore to version 1.4.4. see #23262
git-svn-id: https://develop.svn.wordpress.org/trunk@23383 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-04 06:40:21 +00:00
Andrew Nacin
faa884032e Update Backbone.js to 0.9.10. props aaronholbrook, fixes #23262.
git-svn-id: https://develop.svn.wordpress.org/trunk@23375 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-02 02:02:53 +00:00
Andrew Ozz
5edc6b2711 Heartbeat API: first run, see #23216
git-svn-id: https://develop.svn.wordpress.org/trunk@23355 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-29 06:15:25 +00:00
Andrew Ozz
995de61c9d Update Plupload to 1.5.5, fixes #23277 for trunk
git-svn-id: https://develop.svn.wordpress.org/trunk@23339 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-23 20:54:42 +00:00
Andrew Nacin
77cdc0ce65 jQuery 1.9 final. jQuery Migrate 1.0. Uncompressed for now, while we iron out kinks.
props jorbin. see #22975.



git-svn-id: https://develop.svn.wordpress.org/trunk@23301 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-15 17:52:42 +00:00
Andrew Nacin
410dda2a96 Update the script loader to reflect the actual version of Underscore.js in trunk. props markoheijnen.
git-svn-id: https://develop.svn.wordpress.org/trunk@23220 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-27 21:29:29 +00:00
Andrew Nacin
3486bf6668 Encode brackets in the load-scripts.php URL, as these are considered unsafe characters and can be misunderstood. (See RFC 1738.) In particular, a "security" rewrite rule from a plugin blocked URLs with unencoded brackets. fixes #22899 for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@23201 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-26 20:26:19 +00:00
Andrew Nacin
19dcf9dae0 Have the 'jquery' script handle be a parent of both jQuery core and jQuery Migrate. see #22975.
git-svn-id: https://develop.svn.wordpress.org/trunk@23183 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-18 00:56:27 +00:00
Andrew Nacin
5eb6ded111 Update to jQuery 1.9 Beta 1 in trunk (3.6-alpha).
Temporarily includes jQuery in original, unminified form, for ease of testing and bug reporting.

jQuery 1.9 introduces a "migrate" script for deprecated and removed behavior. Warnings are issued for methods we should not be using, and should be fixed in core. These warnings are sent to the JavaScript console and are collected in `jQuery.migrateWarnings`.

See http://blog.jquery.com/2012/12/17/jquery-1-9-beta-1-released/ for more.

props ocean90, see #22975.



git-svn-id: https://develop.svn.wordpress.org/trunk@23180 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-17 17:29:40 +00:00
Andrew Nacin
b2bafcca6a Script loader: Chunk the script names as passed to load-scripts.php into 128-character pieces. Avoids hitting a limit for the length of a single variable, such as suhosin.get.max_value_length which defaults to 512. fixes #22757.
git-svn-id: https://develop.svn.wordpress.org/trunk@23074 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-05 18:57:56 +00:00
Andrew Nacin
39049254ae Move utils.js (cookie and user setting functions) to wp-includes to enable front-end use.
Make it a dependency of media-views (and therefore media-editor). Move its userSettings JS object from admin-header to being paired with the script in script loader.

see #22730.



git-svn-id: https://develop.svn.wordpress.org/trunk@23036 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-04 19:29:56 +00:00
Ryan Boren
71d333f660 In the QuickPress media modal, use the new post id when a post is published.
Props nacin, koopersmith
fixes #22673


git-svn-id: https://develop.svn.wordpress.org/trunk@22994 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-03 07:17:10 +00:00
Ryan Boren
5178ac86cb RTL fixes for media and color picker.
Props ocean90
see #22453


git-svn-id: https://develop.svn.wordpress.org/trunk@22947 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-30 13:34:16 +00:00
Ryan Boren
6a9c14ed5f Add a delete link to the media modal.
Props merty, nacin, koopersmith
fixes #22524


git-svn-id: https://develop.svn.wordpress.org/trunk@22869 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-27 15:50:59 +00:00
Ryan Boren
b1f07f0ae1 Back compat $_REQUEST['post_id'] for media XHR requests.
Props koopersmith, nacin.
fixes #22588


git-svn-id: https://develop.svn.wordpress.org/trunk@22865 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-27 14:58:08 +00:00
Daryl Koopersmith
978add32e3 jQuery UI 1.9.2. props ocean90. fixes #22563.
git-svn-id: https://develop.svn.wordpress.org/trunk@22833 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-26 01:20:40 +00:00
Daryl Koopersmith
11699e0567 Media: Make media views dependent on jQuery UI sortable. see #22284, #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22776 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 17:28:14 +00:00
Daryl Koopersmith
d477be2d12 Make jQuery a Backbone dependency. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22775 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 17:22:13 +00:00
Daryl Koopersmith
1694382d8d Media: The media views CSS depends on the button styles. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22771 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 16:47:55 +00:00
Daryl Koopersmith
8ce1f39c6c Media: Move the new sections of media-upload.js to media-editor.js to allow the media modal to be used on the front end and prevent dependency conflicts with older themes and plugins. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22770 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 16:46:32 +00:00
Andrew Nacin
34985fbc7a Revert page on front changes. Reverts [22127] [22129] [22135] [22136]. see #16379.
git-svn-id: https://develop.svn.wordpress.org/trunk@22653 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-19 01:28:32 +00:00
Daryl Koopersmith
0583ab09f3 Media: RTL styles for the media modal. props ocean90. see #22453, #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22604 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-15 23:58:33 +00:00
Andrew Nacin
858f0343d3 jQuery 1.8.3. fixes #22432.
git-svn-id: https://develop.svn.wordpress.org/trunk@22593 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-15 02:26:22 +00:00
Daryl Koopersmith
223eb63b6f Media: Restore 3.4 editor behavior and remove TinyMCE views.
* Reactivates the `wpgallery` and `wpeditimage` TinyMCE plugins. Deactivates the `wpviews` TinyMCE plugin.
* Moves still-relevant logic from `mce-views.js` to `media-upload.js` and `shortcode.js`.
* No longer include `wp-includes/js/mce-views.js`. This code will not be used in 3.5, and should be considered unstable.
* Currently, this is the real 3.4 experience; as such, editing triggers the old modals. Changing this is the next major step.

When reassessing views, we should look over all of these tickets and anticipate these bugs accordingly.

fixes #21813, #22123, #22155, #22161, #22257, #22266, #22318, #22407, see #21390.


git-svn-id: https://develop.svn.wordpress.org/trunk@22567 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-14 07:17:22 +00:00
Daryl Koopersmith
f8002c7752 Media: Relocate localization to wp_enqueue_media(). see #22186, #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22516 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-10 00:37:13 +00:00
Daryl Koopersmith
9c1f2e577a Integrate media with the custom background page. fixes #21818, see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22502 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-09 11:37:24 +00:00
Daryl Koopersmith
1401ee7928 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: https://develop.svn.wordpress.org/trunk@22494 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-09 09:47:12 +00:00
Daryl Koopersmith
3da7fa8d1e Customizer: Restrict image control uploaders to only allow image file types. see #22149.
git-svn-id: https://develop.svn.wordpress.org/trunk@22492 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-09 05:47:02 +00:00
Daryl Koopersmith
b9a5374e64 Media: Add batch insertion workflow. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22480 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-09 01:44:02 +00:00
Daryl Koopersmith
b636e94e47 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: https://develop.svn.wordpress.org/trunk@22437 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-07 20:14:41 +00:00
Andrew Nacin
a23e6ae4ec Update Thickbox images for HiDPI. props lessbloat. see #21019.
git-svn-id: https://develop.svn.wordpress.org/trunk@22378 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-05 21:00:15 +00:00
Daryl Koopersmith
737ed62a1c 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: https://develop.svn.wordpress.org/trunk@22362 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-04 22:59:12 +00:00
Ryan Boren
351979863e jQuery UI 1.9.1
Props ocean90
fixes #22290


git-svn-id: https://develop.svn.wordpress.org/trunk@22361 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-03 22:51:38 +00:00
Daryl Koopersmith
a8b411b563 Media: Update the gallery "add images" state. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22356 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-02 01:20:01 +00:00
Daryl Koopersmith
794c7f6b1c Media: Update gallery editing to work with the new frame view. see #21390.
git-svn-id: https://develop.svn.wordpress.org/trunk@22348 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-31 21:43:59 +00:00
Andrew Ozz
2d6b896243 Buttons: make install.css depend on buttons.css (so button styles are always loaded), see #21598
git-svn-id: https://develop.svn.wordpress.org/trunk@22327 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-30 16:28:13 +00:00
Daryl Koopersmith
8fe5b79380 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: https://develop.svn.wordpress.org/trunk@22321 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-29 06:56:23 +00:00