Add CommonJS support for the jQuery adaptor.

This commit is contained in:
Hyunje Alex Jun 2015-02-12 18:24:05 +00:00
parent 64ea58514b
commit ab40b55c8f
8 changed files with 64 additions and 38 deletions

View File

@ -177,10 +177,21 @@ As you may already know, perfect-scrollbar was a jQuery plugin.
And it *is* as well. There's a jQuery adaptor and the plugin can
be used in the same way it used to be used before.
I also recommend using NPM and CommonJS here, but it's not mandatory.
```javascript
var $ = require('jquery');
require('perfect-scrollbar/jquery')($);
```
For sure, you can just import a built script.
```html
<script src='out/js/perfect-scrollbar.jquery.js'></script>
```
After importing it, you can use the plugin in the usual way.
```javascript
$('#container').perfectScrollbar(); // Initialize
$('#container').perfectScrollbar({ ... }); // with options

6
index.js Normal file
View File

@ -0,0 +1,6 @@
/* Copyright (c) 2015 Hyunje Alex Jun and other contributors
* Licensed under the MIT License
*/
'use strict';
module.exports = require('./src/js/main');

6
jquery.js vendored Normal file
View File

@ -0,0 +1,6 @@
/* Copyright (c) 2015 Hyunje Alex Jun and other contributors
* Licensed under the MIT License
*/
'use strict';
module.exports = require('./src/js/adaptor/jquery');

View File

@ -9,7 +9,7 @@
"email": "me@noraesae.net"
}
],
"main": "src/js/main.js",
"main": "./index.js",
"repository": {
"type": "git",
"url": "https://github.com/noraesae/perfect-scrollbar"

View File

@ -3,7 +3,7 @@
*/
'use strict';
var ps = require('../plugin/ps');
var ps = require('../main');
window.PerfectScrollbar = ps;
if (typeof window.Ps === 'undefined') {

View File

@ -3,10 +3,11 @@
*/
'use strict';
var ps = require('../plugin/ps')
var ps = require('../main')
, psInstances = require('../plugin/instances');
$.fn.perfectScrollbar = function (settingOrCommand) {
function mountJQuery(jQuery) {
jQuery.fn.perfectScrollbar = function (settingOrCommand) {
return this.each(function () {
if (typeof settingOrCommand === 'object' ||
typeof settingOrCommand === 'undefined') {
@ -29,4 +30,12 @@ $.fn.perfectScrollbar = function (settingOrCommand) {
return $(this);
});
};
};
}
var jq = window.jQuery ? window.jQuery : window.$;
if (typeof jq !== 'undefined') {
mountJQuery(jq);
}
module.exports = mountJQuery;

View File

@ -3,4 +3,12 @@
*/
'use strict';
module.exports = require('./plugin/ps');
var destroy = require('./plugin/destroy')
, initialize = require('./plugin/initialize')
, update = require('./plugin/update');
module.exports = {
initialize: initialize,
update: update,
destroy: destroy
};

View File

@ -1,14 +0,0 @@
/* Copyright (c) 2015 Hyunje Alex Jun and other contributors
* Licensed under the MIT License
*/
'use strict';
var destroy = require('./destroy')
, initialize = require('./initialize')
, update = require('./update');
module.exports = {
initialize: initialize,
update: update,
destroy: destroy
};