@rxap/data-grid
Version:
Provides a data grid component for Angular applications. It supports plain and form modes, custom header and cell templates, and integration with Rxap Forms and Data Sources. The component allows for displaying and editing data in a tabular format with fe
45 lines (36 loc) • 1.61 kB
JavaScript
document.addEventListener('DOMContentLoaded', function() {
var lazyGraphs = [].slice.call(document.querySelectorAll('[lazy]'));
var active = false;
var lazyLoad = function() {
if (active === false) {
active = true;
setTimeout(function() {
lazyGraphs.forEach(function(lazyGraph) {
if (
lazyGraph.getBoundingClientRect().top <= window.innerHeight &&
lazyGraph.getBoundingClientRect().bottom >= 0 &&
getComputedStyle(lazyGraph).display !== 'none'
) {
lazyGraph.data = lazyGraph.getAttribute('lazy');
lazyGraph.removeAttribute('lazy');
lazyGraphs = lazyGraphs.filter(function(image) { return image !== lazyGraph});
if (lazyGraphs.length === 0) {
document.removeEventListener('scroll', lazyLoad);
window.removeEventListener('resize', lazyLoad);
window.removeEventListener('orientationchange', lazyLoad);
}
}
});
active = false;
}, 200);
}
};
// initial load
lazyLoad();
var container = document.querySelector('.container-fluid.modules');
if (container) {
container.addEventListener('scroll', lazyLoad);
window.addEventListener('resize', lazyLoad);
window.addEventListener('orientationchange', lazyLoad);
}
});