File tree Expand file tree Collapse file tree 1 file changed +33
-5
lines changed Expand file tree Collapse file tree 1 file changed +33
-5
lines changed Original file line number Diff line number Diff line change 83
83
* @constructor
84
84
*/
85
85
var ResizeSensor = function ( element , callback ) {
86
+
87
+ var observer ;
88
+
86
89
/**
87
90
*
88
91
* @constructor
241
244
// Fix for custom Elements
242
245
requestAnimationFrame ( reset ) ;
243
246
}
244
-
245
- forEachElement ( element , function ( elem ) {
246
- attachResizeEvent ( elem , callback ) ;
247
- } ) ;
247
+
248
+ if ( typeof ResizeObserver != "undefined" ) {
249
+ observer = new ResizeObserver ( function ( entries ) {
250
+ for ( var entry of entries ) {
251
+ callback . call (
252
+ this ,
253
+ {
254
+ width : entry . contentRect . width ,
255
+ height : entry . contentRect . height
256
+ }
257
+ ) ;
258
+ }
259
+ } ) ;
260
+ if ( element !== undefined ) {
261
+ forEachElement ( element , function ( elem ) {
262
+ observer . observe ( elem ) ;
263
+ } ) ;
264
+ }
265
+ }
266
+ else {
267
+ forEachElement ( element , function ( elem ) {
268
+ attachResizeEvent ( elem , callback ) ;
269
+ } ) ;
270
+ }
248
271
249
272
this . detach = function ( ev ) {
250
- ResizeSensor . detach ( element , ev ) ;
273
+ if ( typeof ResizeObserver != "undefined" ) {
274
+ observer . unobserve ( element ) ;
275
+ }
276
+ else {
277
+ ResizeSensor . detach ( element , ev ) ;
278
+ }
251
279
} ;
252
280
253
281
this . reset = function ( ) {
You can’t perform that action at this time.
0 commit comments