- <!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 .controls--container {
- padding: 1rem;
- }
-
-
- zing-grid[loading] {
- height: 653px;
- }
- </style>
- </head>
-
- <body class="zg-body">
- <div class="inner--container">
- <!-- toggle controls -->
- <div class="controls--container">
- <div>
- <label for="filter1">Filter By Genre (Crime): </label>
- <input type="checkbox" id="filter1" data-filter-index="genre" data-filter="Crime">
- <br>
- <label for="filter2">Filter By Year (1994): </label>
- <input type="checkbox" id="filter2" data-filter-index="year" data-filter="1994">
- </div>
- </div>
- <zing-grid caption="HTML filter Ex" filter viewport-stop>
- <zg-data data=' [{
- "title": "The Shawshank Redemption",
- "year": "1994",
- "genre": "Crime, Drama"
- }, {
- "title": "The Godfather",
- "year": "1972",
- "genre": "Crime, Drama"
- }, {
- "title": "Forest Gump",
- "year": "1994",
- "genre": "Comedy, Drama, Romance"
- }, {
- "title": "The Matrix",
- "year": "1999",
- "genre": "Action, Sci-Fi"
- }, {
- "title": "Inception",
- "year": "2010",
- "genre": "Action, Adventure, Sci-Fi"
- }, {
- "title": "Pulp Fiction",
- "year": "1994",
- "genre": "Crime, Drama"
- }, {
- "title": "Django Unchained",
- "year": "2012",
- "genre": "Drama, Western"
- }, {
- "title": "The Prestige",
- "year": "2006",
- "genre": "Drama, Mystery, Sci-Fi"
- }, {
- "title": "Memento",
- "year": "2000",
- "genre": "Mystery, Thriller"
- }, {
- "title": "Gone Girl",
- "year": "2014",
- "genre":"Crime, Drama, Mystery"
- }]'>
- </zg-data>
- </zing-grid>
- </div>
- <script>
- ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']); // element references
- const filterInputs = document.querySelectorAll('input[type="checkbox"]');
- const zgRef = document.querySelector('zing-grid');
-
- // function declarations
- function _filterGrid(e) {
- let columnIndex = e.target.getAttribute('data-filter-index');
- let columnFilterValue = e.target.getAttribute('data-filter');
- let filterOn = e.target.checked;
-
- // if checked off, make sure to turn off filter
- if (!filterOn) columnFilterValue = '';
-
- // API method to actually filter
- zgRef.filterColumn(columnIndex, columnFilterValue);
- }
-
- // add event listeners
- [...filterInputs].forEach(filterInput => {
- filterInput.addEventListener('change', _filterGrid);
- });
- </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="filter1">Filter By Genre (Crime): </label>
- <input type="checkbox" id="filter1" data-filter-index="genre" data-filter="Crime">
- <br>
- <label for="filter2">Filter By Year (1994): </label>
- <input type="checkbox" id="filter2" data-filter-index="year" data-filter="1994">
- </div>
- </div>
- <zing-grid caption="HTML filter Ex" filter viewport-stop>
- <zg-data data=' [{
- "title": "The Shawshank Redemption",
- "year": "1994",
- "genre": "Crime, Drama"
- }, {
- "title": "The Godfather",
- "year": "1972",
- "genre": "Crime, Drama"
- }, {
- "title": "Forest Gump",
- "year": "1994",
- "genre": "Comedy, Drama, Romance"
- }, {
- "title": "The Matrix",
- "year": "1999",
- "genre": "Action, Sci-Fi"
- }, {
- "title": "Inception",
- "year": "2010",
- "genre": "Action, Adventure, Sci-Fi"
- }, {
- "title": "Pulp Fiction",
- "year": "1994",
- "genre": "Crime, Drama"
- }, {
- "title": "Django Unchained",
- "year": "2012",
- "genre": "Drama, Western"
- }, {
- "title": "The Prestige",
- "year": "2006",
- "genre": "Drama, Mystery, Sci-Fi"
- }, {
- "title": "Memento",
- "year": "2000",
- "genre": "Mystery, Thriller"
- }, {
- "title": "Gone Girl",
- "year": "2014",
- "genre":"Crime, Drama, Mystery"
- }]'>
- </zg-data>
- </zing-grid>
- </div>
- </body>
-
- </html>
- .zg-body .controls--container {
- padding: 1rem;
- }
- // element references
- const filterInputs = document.querySelectorAll('input[type="checkbox"]');
- const zgRef = document.querySelector('zing-grid');
-
- // function declarations
- function _filterGrid(e) {
- let columnIndex = e.target.getAttribute('data-filter-index');
- let columnFilterValue = e.target.getAttribute('data-filter');
- let filterOn = e.target.checked;
-
- // if checked off, make sure to turn off filter
- if (!filterOn) columnFilterValue = '';
-
- // API method to actually filter
- zgRef.filterColumn(columnIndex, columnFilterValue);
- }
-
- // add event listeners
- [...filterInputs].forEach(filterInput => {
- filterInput.addEventListener('change', _filterGrid);
- });