AdminLTE/plugins/chart.js/docs/gitbook/gitbook-plugin-chartjs/chartjs-plugin-deferred.min.js
Abdullah Almsaeed 53a7c75964 Dev release
2018-03-17 13:07:55 -04:00

10 lines
2.3 KiB
JavaScript

/*!
* chartjs-plugin-deferred
* http://chartjs.org/
* Version: 0.2.0
*
* Copyright 2016 Simon Brunel
* Released under the MIT license
* https://github.com/chartjs/chartjs-plugin-deferred/blob/master/LICENSE.md
*/
"use strict";!function(){function e(e,t){var n=parseInt(e,10);return isNaN(n)?0:"string"==typeof e&&e.indexOf("%")!==-1?n/100*t:n}function t(t){var n=t[s],r=t.chart.canvas;if(null===r.offsetParent)return!1;var a=r.getBoundingClientRect(),f=e(n.yOffset||0,a.height),d=e(n.xOffset||0,a.width);return a.right-d>=0&&a.bottom-f>=0&&a.left+d<=window.innerWidth&&a.top+f<=window.innerHeight}function n(e){var t=l.Deferred.defaults,n=e.options.deferred,r=o.getValueOrDefault;return void 0===n?n={}:"boolean"==typeof n&&(n={enabled:n}),{enabled:r(n.enabled,t.enabled),xOffset:r(n.xOffset,t.xOffset),yOffset:r(n.yOffset,t.yOffset),delay:r(n.delay,t.delay),appeared:!1,delayed:!1,loaded:!1,elements:[]}}function r(e){var n=e.target,r=n[i];r.ticking||(r.ticking=!0,l.platform.defer(function(){var e,n,a=r.instances.slice(),f=a.length;for(n=0;n<f;++n)e=a[n],t(e)&&(d(e),e[s].appeared=!0,e.update());r.ticking=!1}))}function a(e){var t=e.nodeType;if(t===Node.ELEMENT_NODE){var n=o.getStyle(e,"overflow-x"),r=o.getStyle(e,"overflow-y");return"auto"===n||"scroll"===n||"auto"===r||"scroll"===r}return e.nodeType===Node.DOCUMENT_NODE}function f(e){for(var t,n,f=e.chart.canvas,d=f.parentElement;d;)a(d)&&(t=d[i]||(d[i]={}),n=t.instances||(t.instances=[]),0===n.length&&d.addEventListener("scroll",r,{passive:!0}),n.push(e),e[s].elements.push(d)),d=d.parentElement||d.ownerDocument}function d(e){e[s].elements.forEach(function(t){var n=t[i].instances;n.splice(n.indexOf(e),1),n.length||(o.removeEvent(t,"scroll",r),delete t[i])}),e[s].elements=[]}var l=window.Chart,o=l.helpers,i="_chartjs_deferred",s="_deferred_model";l.Deferred=l.Deferred||{},l.Deferred.defaults={enabled:!0,xOffset:0,yOffset:0,delay:0},l.platform=o.extend(l.platform||{},{defer:function(e,t,n){var r=function(){e.call(n)};t?window.setTimeout(r,t):o.requestAnimFrame.call(window,r)}}),l.plugins.register({beforeInit:function(e){var t=e[s]=n(e);t.enabled&&f(e)},beforeDatasetsUpdate:function(e){var n=e[s];if(!n.enabled)return!0;if(!n.loaded){if(!n.appeared&&!t(e))return!1;if(n.appeared=!0,n.loaded=!0,d(e),n.delay>0)return n.delayed=!0,l.platform.defer(function(){n.delayed=!1,e.update()},n.delay),!1}return!n.delayed&&void 0}})}();