- <!DOCTYPE html>
- <html>
-
- <head>
- <meta charset="utf-8">
- <title>ZingGrid Demo</title>
- <script nonce="undefined" src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
- <style>
- .zg-body {
- background: #e6e6e6;
- }
-
- .zg-body .controls--container {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- flex-wrap: wrap;
- margin: 1rem 0;
- }
-
- zing-grid[loading] {
- height: 380px;
- }
- </style>
- </head>
-
- <body class="zg-body">
- <div class="inner--container">
- <!-- toggle controls -->
- <div class="controls--container">
- <div>
- <label for="searchGrid">Search: </label>
- <input type="search" id="searchGrid">
- </div>
- </div>
- <zing-grid caption="Actors/Actresses" search pager page-size="4">
- <zg-data data='[{"name": "Tom Hanks"}, {"name": "Meryl Streep"}, {"name": "Matt Damon"}, {"name": "Morgan Freeman"}, {"name": "Julia Roberts"}, {"name": "Brad Pitt"}, {"name": "Natalie Portman"}, {"name": "Angelina Jolie"}, {"name": "Johnny Depp"}, {"name": "Keira Knightley"}, {"name": "Harrison Ford"}]'></zg-data>
- </zing-grid>
- </div>
- <script>
- ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']); // 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
- // element references
- const searchGrid = document.getElementById('searchGrid');
- const zgRef = document.querySelector('zing-grid');
- // debounce search
- let searchTimeoutId = null;
- // function declarations
- function _searchGrid(e) {
- // debounce search
- clearTimeout(searchTimeoutId);
- let targetValue = e.target.value;
- // delay 100 milliseconds to debounce user input
- searchTimeoutId = setTimeout((userInput) => {
- requestAnimationFrame(() => zgRef.searchGrid(userInput));
- }, 100, targetValue);
- }
- // add event listeners
- searchGrid.addEventListener('keyup', _searchGrid);
- searchGrid.addEventListener('change', _searchGrid);
- searchGrid.addEventListener('search', _searchGrid);
- });
- </script>
- </body>
-
- </html>
- <!DOCTYPE html>
- <html>
-
- <head>
- <meta charset="utf-8">
- <title>ZingGrid Demo</title>
- <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
- </head>
-
- <body class="zg-body">
- <div class="inner--container">
- <!-- toggle controls -->
- <div class="controls--container">
- <div>
- <label for="searchGrid">Search: </label>
- <input type="search" id="searchGrid">
- </div>
- </div>
- <zing-grid caption="Actors/Actresses" search pager page-size="4">
- <zg-data data='[{"name": "Tom Hanks"}, {"name": "Meryl Streep"}, {"name": "Matt Damon"}, {"name": "Morgan Freeman"}, {"name": "Julia Roberts"}, {"name": "Brad Pitt"}, {"name": "Natalie Portman"}, {"name": "Angelina Jolie"}, {"name": "Johnny Depp"}, {"name": "Keira Knightley"}, {"name": "Harrison Ford"}]'></zg-data>
- </zing-grid>
- </div>
- </body>
-
- </html>
- .zg-body {
- background: #e6e6e6;
- }
-
- .zg-body .controls--container {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- flex-wrap: wrap;
- margin: 1rem 0;
- }
- // 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
- // element references
- const searchGrid = document.getElementById('searchGrid');
- const zgRef = document.querySelector('zing-grid');
- // debounce search
- let searchTimeoutId = null;
- // function declarations
- function _searchGrid(e) {
- // debounce search
- clearTimeout(searchTimeoutId);
- let targetValue = e.target.value;
- // delay 100 milliseconds to debounce user input
- searchTimeoutId = setTimeout((userInput) => {
- requestAnimationFrame(() => zgRef.searchGrid(userInput));
- }, 100, targetValue);
- }
- // add event listeners
- searchGrid.addEventListener('keyup', _searchGrid);
- searchGrid.addEventListener('change', _searchGrid);
- searchGrid.addEventListener('search', _searchGrid);
- });