1 /* Flot plugin for automatically redrawing plots as the placeholder resizes.
3 Copyright (c) 2007-2013 IOLA and Ole Laursen.
4 Licensed under the MIT license.
6 It works by listening for changes on the placeholder div (through the jQuery
7 resize event plugin) - if the size changes, it will redraw the plot.
9 There are no options. If you need to disable the plugin for some plots, you
10 can just fix the size of their placeholders.
15 * jQuery resize event - v1.1 - 3/14/2010
16 * http://benalman.com/projects/jquery-resize-plugin/
18 * Copyright (c) 2010 "Cowboy" Ben Alman
19 * Dual licensed under the MIT and GPL licenses.
20 * http://benalman.com/about/license/
23 (function($,t
,n
){function p(){for(var n
=r
.length
-1;n
>=0;n
--){var o
=$(r
[n
]);if(o
[0]==t
||o
.is(":visible")){var h
=o
.width(),d
=o
.height(),v
=o
.data(a
);!v
||h
===v
.w
&&d
===v
.h
?i
[f
]=i
[l
]:(i
[f
]=i
[c
],o
.trigger(u
,[v
.w
=h
,v
.h
=d
]))}else v
=o
.data(a
),v
.w
=0,v
.h
=0}s
!==null&&(s
=t
.requestAnimationFrame(p
))}var r
=[],i
=$.resize
=$.extend($.resize
,{}),s
,o
="setTimeout",u
="resize",a
=u
+"-special-event",f
="delay",l
="pendingDelay",c
="activeDelay",h
="throttleWindow";i
[l
]=250,i
[c
]=20,i
[f
]=i
[l
],i
[h
]=!0,$.event
.special
[u
]={setup:function(){if(!i
[h
]&&this[o
])return!1;var t
=$(this);r
.push(this),t
.data(a
,{w
:t
.width(),h
:t
.height()}),r
.length
===1&&(s
=n
,p())},teardown:function(){if(!i
[h
]&&this[o
])return!1;var t
=$(this);for(var n
=r
.length
-1;n
>=0;n
--)if(r
[n
]==this){r
.splice(n
,1);break}t
.removeData(a
),r
.length
||(cancelAnimationFrame(s
),s
=null)},add:function(t
){function s(t
,i
,s
){var o
=$(this),u
=o
.data(a
);u
.w
=i
!==n
?i
:o
.width(),u
.h
=s
!==n
?s
:o
.height(),r
.apply(this,arguments
)}if(!i
[h
]&&this[o
])return!1;var r
;if($.isFunction(t
))return r
=t
,s
;r
=t
.handler
,t
.handler
=s
}},t
.requestAnimationFrame
||(t
.requestAnimationFrame=function(){return t
.webkitRequestAnimationFrame
||t
.mozRequestAnimationFrame
||t
.oRequestAnimationFrame
||t
.msRequestAnimationFrame
||function(e
,n
){return t
.setTimeout(e
,i
[f
])}}()),t
.cancelAnimationFrame
||(t
.cancelAnimationFrame=function(){return t
.webkitCancelRequestAnimationFrame
||t
.mozCancelRequestAnimationFrame
||t
.oCancelRequestAnimationFrame
||t
.msCancelRequestAnimationFrame
||clearTimeout
}())})(jQuery
,this);
26 var options
= { }; // no options
30 var placeholder
= plot
.getPlaceholder();
32 // somebody might have hidden us and we can't plot
33 // when we don't have the dimensions
34 if (placeholder
.width() == 0 || placeholder
.height() == 0)
42 function bindEvents(plot
, eventHolder
) {
43 plot
.getPlaceholder().resize(onResize
);
46 function shutdown(plot
, eventHolder
) {
47 plot
.getPlaceholder().unbind("resize", onResize
);
50 plot
.hooks
.bindEvents
.push(bindEvents
);
51 plot
.hooks
.shutdown
.push(shutdown
);