Mercurial > hg > LGMap
comparison geotemco/lib/flot/jquery.flot.resize.js @ 0:57bde4830927
first commit
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 24 Mar 2015 11:37:17 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:57bde4830927 |
---|---|
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($,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); | |
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); |