<!DOCTYPE html> <html class="zg-html"> <head> <meta charset="utf-8"> <title>ZingGrid: Blank Grid</title> <script nonce="undefined" src="https://cdn.zinggrid.com/zinggrid.min.js"></script> <style> zing-grid[loading] { height: 172px; } </style> </head> <body> <zing-grid caption="VoltVoyage eBike Users" batch-edit filter="inline" filterer> <zg-column index="firstName" filterer="nameFilter"></zg-column> <zg-column index="lastName" filterer="nameFilter"></zg-column> <zg-column index="username"></zg-column> <zg-column index="email"></zg-column> <zg-column index="permissionLevel"></zg-column> <zg-column index="startDate"></zg-column> </zing-grid> <script> ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']); window.nameFilter = { afterInit(oDOMFilter) { function forceNameCapitalization(e) { // Let the user use modifiers without hinderence let hasModifiers = e.shiftKey || e.metaKey || e.altKey || e.ctrlKey; // Only modify standard letters if (/^[a-zA-Z]$/i.test(e.key) && !hasModifiers) { // Grab the new key since this will be a keydown event let str = oDOMInput.value + e.key; let firstChar = str.charAt(0).toUpperCase(); let otherChars = str.slice(1).toLowerCase(); oDOMInput.value = firstChar + otherChars; // Prevent the browser from double adding a key since we already did that above e.preventDefault(); } } let oDOMInput = oDOMFilter.querySelector('input '); oDOMInput.addEventListener('keydown', forceNameCapitalization); }, }; let zgRef = document.querySelector('zing-grid'); zgRef.setData([{ "firstName": "Alice", "lastName": "Smith", "username": "asmith", "email": "asmith@voltvoyage.com", "permissionLevel": 5, "startDate": "2022-01-22" }, { "firstName": "Yong", "lastName": "Lee", "username": "ylee", "email": "ylee@voltvoyage.com", "permissionLevel": 1, "startDate": "2023-02-28" }, { "firstName": "Michael", "lastName": "Brown", "username": "mbrown", "email": "mbrown@voltvoyage.com", "permissionLevel": 2, "startDate": "2023-03-10" }, { "firstName": "Chris", "lastName": "Jones", "username": "cjones", "email": "cjones@voltvoyage.com", "permissionLevel": 1, "startDate": "2019-09-23" }, { "firstName": "Bella", "lastName": "Rodriguez", "username": "brodriguez", "email": "brodriguez@voltvoyage.com", "permissionLevel": 2, "startDate": "2022-08-30" }, { "firstName": "John", "lastName": "Doe", "username": "jdoe", "email": "jdoe@voltvoyage.com", "permissionLevel": 3, "startDate": "2021-07-14" }, { "firstName": "Mark", "lastName": "Martinez", "username": "mmartinez", "email": "mmartinez@voltvoyage.com", "permissionLevel": 3, "startDate": "2021-05-17" }, { "firstName": "Tina", "lastName": "Thompson", "username": "tthompson", "email": "tthompson@voltvoyage.com", "permissionLevel": 4, "startDate": "2020-12-12" }, { "firstName": "Kim", "lastName": "Nguyen", "username": "knguyen", "email": "knguyen@voltvoyage.com", "permissionLevel": 5, "startDate": "2021-10-03" }, { "firstName": "Laura", "lastName": "White", "username": "lwhite", "email": "lwhite@voltvoyage.com", "permissionLevel": 4, "startDate": "2020-11-05" } ]); </script> </body> </html>
<!DOCTYPE html> <html class="zg-html"> <head> <meta charset="utf-8"> <title>ZingGrid: Blank Grid</title> <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script> </head> <body> <zing-grid caption="VoltVoyage eBike Users" batch-edit filter="inline" filterer> <zg-column index="firstName" filterer="nameFilter"></zg-column> <zg-column index="lastName" filterer="nameFilter"></zg-column> <zg-column index="username"></zg-column> <zg-column index="email"></zg-column> <zg-column index="permissionLevel"></zg-column> <zg-column index="startDate"></zg-column> </zing-grid> </body> </html>
window.nameFilter = { afterInit(oDOMFilter) { function forceNameCapitalization(e) { // Let the user use modifiers without hinderence let hasModifiers = e.shiftKey || e.metaKey || e.altKey || e.ctrlKey; // Only modify standard letters if (/^[a-zA-Z]$/i.test(e.key) && !hasModifiers) { // Grab the new key since this will be a keydown event let str = oDOMInput.value + e.key; let firstChar = str.charAt(0).toUpperCase(); let otherChars = str.slice(1).toLowerCase(); oDOMInput.value = firstChar + otherChars; // Prevent the browser from double adding a key since we already did that above e.preventDefault(); } } let oDOMInput = oDOMFilter.querySelector('input '); oDOMInput.addEventListener('keydown', forceNameCapitalization); }, }; let zgRef = document.querySelector('zing-grid'); zgRef.setData([{ "firstName": "Alice", "lastName": "Smith", "username": "asmith", "email": "asmith@voltvoyage.com", "permissionLevel": 5, "startDate": "2022-01-22" }, { "firstName": "Yong", "lastName": "Lee", "username": "ylee", "email": "ylee@voltvoyage.com", "permissionLevel": 1, "startDate": "2023-02-28" }, { "firstName": "Michael", "lastName": "Brown", "username": "mbrown", "email": "mbrown@voltvoyage.com", "permissionLevel": 2, "startDate": "2023-03-10" }, { "firstName": "Chris", "lastName": "Jones", "username": "cjones", "email": "cjones@voltvoyage.com", "permissionLevel": 1, "startDate": "2019-09-23" }, { "firstName": "Bella", "lastName": "Rodriguez", "username": "brodriguez", "email": "brodriguez@voltvoyage.com", "permissionLevel": 2, "startDate": "2022-08-30" }, { "firstName": "John", "lastName": "Doe", "username": "jdoe", "email": "jdoe@voltvoyage.com", "permissionLevel": 3, "startDate": "2021-07-14" }, { "firstName": "Mark", "lastName": "Martinez", "username": "mmartinez", "email": "mmartinez@voltvoyage.com", "permissionLevel": 3, "startDate": "2021-05-17" }, { "firstName": "Tina", "lastName": "Thompson", "username": "tthompson", "email": "tthompson@voltvoyage.com", "permissionLevel": 4, "startDate": "2020-12-12" }, { "firstName": "Kim", "lastName": "Nguyen", "username": "knguyen", "email": "knguyen@voltvoyage.com", "permissionLevel": 5, "startDate": "2021-10-03" }, { "firstName": "Laura", "lastName": "White", "username": "lwhite", "email": "lwhite@voltvoyage.com", "permissionLevel": 4, "startDate": "2020-11-05" } ]);