1 | /* Flot plugin for automatically redrawing plots as the placeholder resizes. |
---|
2 | |
---|
3 | Copyright (c) 2007-2013 IOLA and Ole Laursen. |
---|
4 | Licensed under the MIT license. |
---|
5 | |
---|
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. |
---|
8 | |
---|
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. |
---|
11 | |
---|
12 | */ |
---|
13 | |
---|
14 | /* Inline dependency: |
---|
15 | * jQuery resize event - v1.1 - 3/14/2010 |
---|
16 | * http://benalman.com/projects/jquery-resize-plugin/ |
---|
17 | * |
---|
18 | * Copyright (c) 2010 "Cowboy" Ben Alman |
---|
19 | * Dual licensed under the MIT and GPL licenses. |
---|
20 | * http://benalman.com/about/license/ |
---|
21 | */ |
---|
22 | |
---|
23 | (function($,h,c){var a=$([]),e=$.resize=$.extend($.resize,{}),i,k="setTimeout",j="resize",d=j+"-special-event",b="delay",f="throttleWindow";e[b]=250;e[f]=true;$.event.special[j]={setup:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.add(l);$.data(this,d,{w:l.width(),h:l.height()});if(a.length===1){g()}},teardown:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.not(l);l.removeData(d);if(!a.length){clearTimeout(i)}},add:function(l){if(!e[f]&&this[k]){return false}var n;function m(s,o,p){var q=$(this),r=$.data(this,d);r.w=o!==c?o:q.width();r.h=p!==c?p:q.height();n.apply(this,arguments)}if($.isFunction(l)){n=l;return m}else{n=l.handler;l.handler=m}}};function g(){i=h[k](function(){a.each(function(){var n=$(this),m=n.width(),l=n.height(),o=$.data(this,d);if(m!==o.w||l!==o.h){n.trigger(j,[o.w=m,o.h=l])}});g()},e[b])}})(jQuery,this); |
---|
24 | |
---|
25 | (function ($) { |
---|
26 | var options = { }; // no options |
---|
27 | |
---|
28 | function init(plot) { |
---|
29 | function onResize() { |
---|
30 | var placeholder = plot.getPlaceholder(); |
---|
31 | |
---|
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) |
---|
35 | return; |
---|
36 | |
---|
37 | plot.resize(); |
---|
38 | plot.setupGrid(); |
---|
39 | plot.draw(); |
---|
40 | } |
---|
41 | |
---|
42 | function bindEvents(plot, eventHolder) { |
---|
43 | plot.getPlaceholder().resize(onResize); |
---|
44 | } |
---|
45 | |
---|
46 | function shutdown(plot, eventHolder) { |
---|
47 | plot.getPlaceholder().unbind("resize", onResize); |
---|
48 | } |
---|
49 | |
---|
50 | plot.hooks.bindEvents.push(bindEvents); |
---|
51 | plot.hooks.shutdown.push(shutdown); |
---|
52 | } |
---|
53 | |
---|
54 | $.plot.plugins.push({ |
---|
55 | init: init, |
---|
56 | options: options, |
---|
57 | name: 'resize', |
---|
58 | version: '1.0' |
---|
59 | }); |
---|
60 | })(jQuery); |
---|