Commit Graph

27 Commits

Author SHA1 Message Date
Scott Taylor 3630732523 Remove the JS part of [31619].
Fixes #6820.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31939 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 16:34:27 +00:00
Scott Taylor a5478d7adb Let us pray to the gods of backwards compatibility:
* The way that the JS modules for media are currently set up turns the existing global `wp.media` namespace into a read-only API, this is bad.
* For the existing module implementation to work with plugins, those looking to override or extend a class would have to modify their own plugin to use `browserify` - we can't expect this to happen
* Because the general way that plugins override media classes is via machete (resetting them to something else), we cannot use `require( 'module' )` in the internal code for media modules

We CAN continue to use `require( 'fun/js' )` in the manifests for media. 

Future code/projects should carefully consider what is made to be public API. In 3.5, EVERYTHING was made public, so everything shall remain public.

See #31684, #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31914 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-31 02:03:29 +00:00
Scott Taylor 6ffa051689 Replace flagrant instances of `.html('')` with `.empty()`.
Props OriginalEXE, SergeyBiryukov.
Fixes #27034.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-09 19:44:26 +00:00
Helen Hou-Sandí b6393c9d77 Media: UI tweaks for Insert from URL.
"Title" field is now labeled as "Link Text", to reflect how it's actually used. It's also hidden whenever the embed is updating, to make it clearer that something is happening. Embed dimension fields are shown below the preview, much like image property fields are shown below.

fixes #29476, see #31139.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-06 15:03:25 +00:00
Scott Taylor ba977671b6 In the modal state for Embed previews, only show the Title field when the preview fails.
Props johnbillion, wonderboymusic.
See #29476.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-05 21:03:25 +00:00
Scott Taylor ae85d506e6 When editing/viewing the details of a `[video]` shortcode that has Vimeo as its source, and `Froogaloop` has not already been lazy-loaded, check the details of the state's model for the video `src`, instead of the HTML element.
See #29267.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-05 16:15:25 +00:00
Scott Taylor cc953717b7 Allow inline editing of `width` and `height` parameters while previewing an embed in the media modal:
* Use `wp.shortcode()` instead of manually constructing a shortcode in `views/embed/link`
* Allow a URL to transition to a shortcode (and vice versa) when returning an embed to TinyMCE
* In `WP_Embed`, store the last URL and last set of attributes requested in class properties
* `wp_ajax_parse_embed()`, allow `[embed]`s to have attributes. Return `attr` in the response.

This is a first pass to allow broad testing with recent MCE view changes. 

See #31139.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-05 06:00:26 +00:00
Scott Taylor d3471e9850 Allow attachments to be Detached from their parent in media grid and list modes.
See #6820.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-05 05:35:28 +00:00
Scott Taylor 0250aebf2a Media modules: set `$` to `Backbone.$`, instead of `jQuery`, so fewer globals are imported.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31599 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-05 04:12:26 +00:00
Dominik Schilling 4f19a4b613 JSHint: Remove an unused variable.
Built from https://develop.svn.wordpress.org/trunk@31568


git-svn-id: http://core.svn.wordpress.org/trunk@31549 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-27 09:50:24 +00:00
Scott Taylor c43fcec0e3 Fix the build file after [31562].
Built from https://develop.svn.wordpress.org/trunk@31563


git-svn-id: http://core.svn.wordpress.org/trunk@31544 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-26 23:02:24 +00:00
Scott Taylor a8dcd7aced Persist search terms across grid/list modes:
* In `grid` mode, when the page loads and `s` is in the URL, all attachments are loaded and then the search value is set, which will filter the attachments. If the page loads with the attachments already filtered, the library will have to be requery'd to get the full set, which will require weirder code.
* When a user searches, the mode-switcher link for `list` view is updated dynamically to represent the current `location.href` in the proper `mode=` and `s=` context.

Fixes #30583.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-26 23:01:25 +00:00
Scott Taylor d5b80a2be2 Make sure the `grid` build does not load files from the `views` build.
Fix the errant back-compat assignment for `wp.media.view.Frame`.

See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31475 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 08:47:25 +00:00
Scott Taylor 7b8cdd61fd Make sure the `audio-video` build does not load files from the `views` build.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31474 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 08:29:25 +00:00
Scott Taylor d9a2e85bfe Media JS files:
* specify globals in more files
* add missing `wp.media.*` namespace docs
* add doc blocks to files that had none

See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31473 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 07:25:27 +00:00
Scott Taylor 9737acc1a5 Specify globals in media JS files - it is important to denote where we are diverging from dependency injection.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31472 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 06:56:27 +00:00
Scott Taylor 8b54658f0c After [30120], in media JS files, move from `@constructor` to `@class` annotations as per JSDoc preferred nomenclature: http://usejsdoc.org/tags-class.html
See #28510, #30193.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31471 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 06:28:26 +00:00
Scott Taylor 117a0518fd The `grid` build should not load `views/edit-image`, it already exists in the `views` build.
`views/edit-image.js` doesn't need to set a `render` method if it doesn't override its parent.

See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31470 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 06:21:25 +00:00
Scott Taylor 8babe839e3 JSHint after [31487].
Built from https://develop.svn.wordpress.org/trunk@31488


git-svn-id: http://core.svn.wordpress.org/trunk@31469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 05:57:28 +00:00
Scott Taylor 6848035d1a Restore the changes I made in [31016] for chromeless Vimeo that were missed in [31373].
Make sure that the build file for `grid` doesn't load `views/media-details.js`, it already exists in the `audio-video` build.

See #29267, #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31468 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 05:38:27 +00:00
Scott Taylor 64e19e98a3 Use `Math.round()` instead of `Math.floor()` when determining page of attachments to query in `wp.media.model.Query.sync`.
This was causing an infinite loop of AJAX requests - so.... good catch!

Props Veritaserum.
Fixes #31116.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 22:54:28 +00:00
Scott Taylor 1235221921 Export the proper class in `media/views/image-details.js`
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 23:46:28 +00:00
Scott Taylor 586ff8676a After [31386], this needs to happen in `audio-video.manifest.js`.
See #31058.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 18:45:26 +00:00
Scott Taylor b191013198 Media JS files:
* In media manifests, ditch IIFEs and global injection, these get dynamically scoped via Browserify
* Remove the `debug` option from `browserify:media`
* Add `jshint:media` to `jshint:corejs`
* Add a trailing newline to all new module files

Props iseulde.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 16:01:29 +00:00
Scott Taylor ef12a2cc8c Bind `this` at calltime instead of letting `self` spill down into closures.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:45:28 +00:00
Scott Taylor 308ae4c887 Make sure that `media/views.js` doesn't load Models that already exist in `media/models.js`.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:14:26 +00:00
Scott Taylor d568679946 Split the media JS files into modules:
* Add a new folder in `wp-includes/js`, `media`
* Create manifest files for `views`, `models`, `grid`, and `audio-video`
* Make `browserify` an `npm` dependency
* Add Grunt tasks for `browserify` and `uglify:media` on `build` and `watch`
* Update the paths loaded for media files in `script-loader`
* All new files were created using `svn cp` from their original location

Please run `npm install`. While developing media JS, you must run `grunt watch`.

See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:43:50 +00:00