• Edit
  • Download
  • <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="utf-8">
      <title>ZingGrid Demo</title>
      <script src="https://cdn.zinggrid.com/canary/zinggrid-canary.min.js" defer></script>
      <style>
        :root {
          --bgColor: #041F35;
          --headerFontColor: #fff;
          --mainFontColor: var(--bgColor, darkblue);
          --rowColor: #777;
          --zg-caption-background: var(--bgColor, inherit);
          --zg-caption-color: var(--headerFontColor, white);
          --zing-grid-color: var(--mainFontColor);
        }
    
        html,
        body {
          height: 100%;
          width: 100%;
          margin: 0;
          padding: 0;
        }
    
        .button {
          text-align: center;
          background: #07C;
          color: #FFF;
          cursor: pointer;
          border-radius: 3px;
          font-size: 0.85rem;
          padding: 5px 20px;
          cursor: pointer;
          margin: 15px 0 15px 15px;
          position: relative;
          top: 0;
        }
    
        .button:hover {
          background: #1b6ead;
        }
    
        zing-grid[loading] {
          min-height: 600px;
        }
    
        /* hide some inner grid elements */
    
        zing-grid[loading] zg-pager {
          visibility: hidden;
        }
    
        zg-load-mask {
          /* set the color to match the gif */
          opacity: .90;
          top: 65px;
          height: calc(100% - 65px);
          /* custom gif for loading */
          background-image: url('https://storage.googleapis.com/zg-demos.appspot.com/starwars_loading.gif');
          /* Center and scale the image nicely */
          background-position: center;
          background-repeat: repeat;
          background-size: contain;
        }
    
        .zg-ref {
          display: none;
        }
    
        zing-grid[loading] {
          height: 800px;
        }
      </style>
    </head>
    
    <body>
      <div id="myGrid">
        <a class="zg-ref" href="https://www.zinggrid.com/">Powered by ZingGrid</a>
      </div>
      <script>
        // 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
    
          // define params for fetching data
          const params = {
            // define the main source for the API
            src: 'https://swapi.py4e.com/api/people/',
            // define the path in the JSON to get the array of results. In this case it is body.results
            recordPath: 'results',
            // if loadByPage is set to true it will go to the server for each new page of data
            loadByPage: 'true',
            // define the "page" query parameter
            pageKey: 'page',
            // Need to tell ZG how many records were returned so it knows how to divide up the page-size
            countPath: 'count',
            // define the path in the result JSON to find next/prev urls
            nextPath: 'next',
            // define the path in the result JSON to find next/prev urls
            prevPath: 'previous',
            // Need to tell ZG how mto search the API
            searchKey: 'search',
          };
    
          // define columns
          let columns = [{
              index: 'name',
            },
            {
              index: 'height',
            },
            {
              index: 'mass',
            },
            {
              index: 'hair_color',
            },
            {
              index: 'eye_color',
            },
            {
              index: 'skin_color',
            }
          ];
    
          // define overall grid configuration
          let gridConfig = {
            caption: 'ZingGrid Star Wars',
            pager: true,
            pageSize: 5,
            search: true,
            params,
            columns,
          };
    
          // render grid and assign reference to variable
          let zgRef = new ZingGrid('myGrid', gridConfig);
        });
      </script>
    </body>
    
    </html>
    <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="utf-8">
      <title>ZingGrid Demo</title>
      <script src="https://cdn.zinggrid.com/canary/zinggrid-canary.min.js" defer></script>
    </head>
    
    <body>
      <div id="myGrid">
        <a class="zg-ref" href="https://www.zinggrid.com/">Powered by ZingGrid</a>
      </div>
    </body>
    
    </html>
    :root {
      --bgColor: #041F35;
      --headerFontColor: #fff;
      --mainFontColor: var(--bgColor, darkblue);
      --rowColor: #777;
      --zg-caption-background: var(--bgColor, inherit);
      --zg-caption-color: var(--headerFontColor, white);
      --zing-grid-color: var(--mainFontColor);
    }
    
    html,
    body {
      height: 100%;
      width: 100%;
      margin: 0;
      padding: 0;
    }
    
    .button {
      text-align: center;
      background: #07C;
      color: #FFF;
      cursor: pointer;
      border-radius: 3px;
      font-size: 0.85rem;
      padding: 5px 20px;
      cursor: pointer;
      margin: 15px 0 15px 15px;
      position: relative;
      top: 0;
    }
    
    .button:hover {
      background: #1b6ead;
    }
    
    zing-grid[loading] {
      min-height: 600px;
    }
    
    /* hide some inner grid elements */
    
    zing-grid[loading] zg-pager {
      visibility: hidden;
    }
    
    zg-load-mask {
      /* set the color to match the gif */
      opacity: .90;
      top: 65px;
      height: calc(100% - 65px);
      /* custom gif for loading */
      background-image: url('https://storage.googleapis.com/zg-demos.appspot.com/starwars_loading.gif');
      /* Center and scale the image nicely */
      background-position: center;
      background-repeat: repeat;
      background-size: contain;
    }
    
    .zg-ref {
      display: none;
    }
    // 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
    
      // define params for fetching data
      const params = {
        // define the main source for the API
        src: 'https://swapi.py4e.com/api/people/',
        // define the path in the JSON to get the array of results. In this case it is body.results
        recordPath: 'results',
        // if loadByPage is set to true it will go to the server for each new page of data
        loadByPage: 'true',
        // define the "page" query parameter
        pageKey: 'page',
        // Need to tell ZG how many records were returned so it knows how to divide up the page-size
        countPath: 'count',
        // define the path in the result JSON to find next/prev urls
        nextPath: 'next',
        // define the path in the result JSON to find next/prev urls
        prevPath: 'previous',
        // Need to tell ZG how mto search the API
        searchKey: 'search',
      };
    
      // define columns
      let columns = [{
          index: 'name',
        },
        {
          index: 'height',
        },
        {
          index: 'mass',
        },
        {
          index: 'hair_color',
        },
        {
          index: 'eye_color',
        },
        {
          index: 'skin_color',
        }
      ];
    
      // define overall grid configuration
      let gridConfig = {
        caption: 'ZingGrid Star Wars',
        pager: true,
        pageSize: 5,
        search: true,
        params,
        columns,
      };
    
      // render grid and assign reference to variable
      let zgRef = new ZingGrid('myGrid', gridConfig);
    });