Commit Graph

8 Commits

Author SHA1 Message Date
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
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
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
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
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
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