• Edit
  • Download
  • <!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: 142px;
        }
      </style>
    </head>
    
    <body>
      <zing-grid caption="VoltVoyage eBike Users">
        <zg-colgroup>
          <zg-column index="firstName" type="text"></zg-column>
          <zg-column index="lastName" type="text"></zg-column>
          <zg-column index="username" type="text"></zg-column>
          <zg-column index="email" type="email"></zg-column>
          <zg-column index="permissionLevel" type="number"></zg-column>
          <zg-column index="startDate" type="date"></zg-column>
          <zg-column type="custom" header="Copy Row">
            <zg-button button-border handler="copyRow" custom-tooltip="Copy the Row" custom-disabled="lockTopEmployees">Copy</zg-button>
          </zg-column>
          <zg-column header="Edit Row" type="button" type-button-icon="editrecord" type-button-tooltip="Edit Row" type-button-disabled="lockTopEmployees"></zg-column>
        </zg-colgroup>
      </zing-grid>
      <script>
        ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']);
        /**
         * The handler for the copy button, copies the current row
         * as a stringified JSON to the clipboard.
         * @param {Object} rowData An object of data from the current row
         */
        function copyRow(rowData) {
          let text = JSON.stringify(rowData);
          navigator.clipboard.writeText(text).then(() => {
            alert('Copied!');
          });
        }
        /**
         * Disables the row if the permission level is the max permission
         */
        function lockTopEmployees(rowData) {
          return rowData.permissionLevel === 5;
        }
        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">
        <zg-colgroup>
          <zg-column index="firstName" type="text"></zg-column>
          <zg-column index="lastName" type="text"></zg-column>
          <zg-column index="username" type="text"></zg-column>
          <zg-column index="email" type="email"></zg-column>
          <zg-column index="permissionLevel" type="number"></zg-column>
          <zg-column index="startDate" type="date"></zg-column>
          <zg-column type="custom" header="Copy Row">
            <zg-button button-border handler="copyRow" custom-tooltip="Copy the Row" custom-disabled="lockTopEmployees">Copy</zg-button>
          </zg-column>
          <zg-column header="Edit Row" type="button" type-button-icon="editrecord" type-button-tooltip="Edit Row" type-button-disabled="lockTopEmployees"></zg-column>
        </zg-colgroup>
      </zing-grid>
    </body>
    
    </html>
    
          
    /**
     * The handler for the copy button, copies the current row
     * as a stringified JSON to the clipboard.
     * @param {Object} rowData An object of data from the current row
     */
    function copyRow(rowData) {
      let text = JSON.stringify(rowData);
      navigator.clipboard.writeText(text).then(() => {
        alert('Copied!');
      });
    }
    /**
     * Disables the row if the permission level is the max permission
     */
    function lockTopEmployees(rowData) {
      return rowData.permissionLevel === 5;
    }
    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"
      }
    ]);