Skip to content
This repository was archived by the owner on May 7, 2025. It is now read-only.

Commit e33b90b

Browse files
committed
Made modules loadable via node commonjs
1 parent 608d783 commit e33b90b

File tree

3 files changed

+45
-9
lines changed

3 files changed

+45
-9
lines changed

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,22 @@ Include the javascript files at the bottom and you're good to go. No custom java
6161
<script src="src/ElementQueries.js"></script>
6262
```
6363

64+
## Module Loader
65+
66+
If you're using a module loader you need to trigger the event listening or initialization yourself:
67+
68+
```javascript
69+
var EQ = require('node_modules/css-element-queries/ElementQueries');
70+
71+
//attaches to DOMLoadContent
72+
EQ.listen();
73+
74+
//or if you want to trigger it yourself.
75+
// Parse all available CSS and attach ResizeSensor to those elements which have rules attached
76+
// (make sure this is called after 'load' event, because CSS files are not ready when domReady is fired.
77+
EQ.init();
78+
```
79+
6480
Issues
6581
------
6682

src/ElementQueries.js

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@
55
*/
66
;
77
(function() {
8+
9+
var ResizeSensor = window.ResizeSensor;
10+
11+
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
12+
ResizeSensor = require('./ResizeSensor');
13+
}
14+
815
/**
916
*
1017
* @type {Function}
@@ -350,11 +357,16 @@
350357
else window.onload = callback;
351358
};
352359

353-
if (window.addEventListener) {
354-
window.addEventListener('load', ElementQueries.init, false);
355-
} else {
356-
window.attachEvent('onload', ElementQueries.init);
357-
}
358-
domLoaded(ElementQueries.init);
360+
ElementQueries.listen = function() {
361+
domLoaded(ElementQueries.init);
362+
};
359363

364+
// make available to common module loader
365+
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
366+
module.exports = ElementQueries;
367+
}
368+
else {
369+
window.ElementQueries = ElementQueries;
370+
ElementQueries.listen();
371+
}
360372
})();

src/ResizeSensor.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*
1515
* @constructor
1616
*/
17-
this.ResizeSensor = function(element, callback) {
17+
var ResizeSensor = function(element, callback) {
1818
/**
1919
*
2020
* @constructor
@@ -120,7 +120,7 @@
120120
changed();
121121
}
122122
reset();
123-
}
123+
};
124124

125125
addEvent(expand, 'scroll', onScroll);
126126
addEvent(shrink, 'scroll', onScroll);
@@ -155,12 +155,20 @@
155155
};
156156
};
157157

158-
this.ResizeSensor.detach = function(element) {
158+
ResizeSensor.detach = function(element) {
159159
if (element.resizeSensor) {
160160
element.removeChild(element.resizeSensor);
161161
delete element.resizeSensor;
162162
delete element.resizedAttached;
163163
}
164164
};
165165

166+
// make available to common module loader
167+
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
168+
module.exports = ResizeSensor;
169+
}
170+
else {
171+
window.ResizeSensor = ResizeSensor;
172+
}
173+
166174
})();

0 commit comments

Comments
 (0)