<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ZingGrid: Blank Grid</title>
<script nonce="undefined" src="https://cdn.zinggrid.com/dev/zinggrid-dev.min.js"></script>
<style>
body {
background: #e6e6e6;
}
zing-grid[loading] {
height: 172px;
}
</style>
</head>
<body>
<zing-grid caption="Dynamic Data" layout="row" layout-controls>
</zing-grid>
<script>
ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']); // function to mimic data changing
function shuffleData(arr) {
const newArr = arr.slice()
for (let i = newArr.length - 1; i > 0; i--) {
const rand = Math.floor(Math.random() * (i + 1));
[newArr[i], newArr[rand]] = [newArr[rand], newArr[i]];
}
return newArr
};
// window:load event for Javascript to run after HTML
// because this Javascript is injected into the document head
window.addEventListener('load', () => {
// Javascript code to execute after DOM content
const zgRef = document.querySelector('zing-grid');
let intervalTimeoutId = setInterval(() => {
fetch('https://cdn.zinggrid.com/datasets/remote-data-recordpath.json')
.then(res => res.json())
.then(data => {
// in this use case our endpoint is not updating so
// we fake an endpoint update by manipulating the data
const newData = shuffleData(data.company.employees);
// update data
zgRef.setData(newData);
})
.catch(err => console.error('--- Error In Fetch Occurred ---', err));
}, 1000);
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ZingGrid: Blank Grid</title>
<script src="https://cdn.zinggrid.com/dev/zinggrid-dev.min.js"></script>
</head>
<body>
<zing-grid caption="Dynamic Data" layout="row" layout-controls>
</zing-grid>
</body>
</html>
body {
background: #e6e6e6;
}
// function to mimic data changing
function shuffleData(arr) {
const newArr = arr.slice()
for (let i = newArr.length - 1; i > 0; i--) {
const rand = Math.floor(Math.random() * (i + 1));
[newArr[i], newArr[rand]] = [newArr[rand], newArr[i]];
}
return newArr
};
// window:load event for Javascript to run after HTML
// because this Javascript is injected into the document head
window.addEventListener('load', () => {
// Javascript code to execute after DOM content
const zgRef = document.querySelector('zing-grid');
let intervalTimeoutId = setInterval(() => {
fetch('https://cdn.zinggrid.com/datasets/remote-data-recordpath.json')
.then(res => res.json())
.then(data => {
// in this use case our endpoint is not updating so
// we fake an endpoint update by manipulating the data
const newData = shuffleData(data.company.employees);
// update data
zgRef.setData(newData);
})
.catch(err => console.error('--- Error In Fetch Occurred ---', err));
}, 1000);
});