<!DOCTYPE html>
<html class="zg-html">
<head>
  <meta charset="utf-8">
  <title>ZingGrid: Firestore Auth</title>
  <script nonce="undefined" src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
  <style>
    body {
      background: #e6e6e6;
    }
    zing-grid[loading] {
      height: 148px;
    }
  </style>
</head>
<body>
  <button id="login">Login</button>
  <button id="logout">Logout</button>
  <br><br>
  <zing-grid editor-controls pager caption="Adapter">
    <zg-data adapter="firebaseSDK">
      <zg-param name="collection" value="employees"></zg-param>
    </zg-data>
    <zg-colgroup>
      <zg-column index="name"></zg-column>
      <zg-column index="city"></zg-column>
    </zg-colgroup>
  </zing-grid>
  <!-- The core Firebase JS SDK is always required and must be listed first -->
  <script nonce="undefined" src="https://www.gstatic.com/firebasejs/7.23.0/firebase-app.js"></script>
  <script nonce="undefined" src="https://www.gstatic.com/firebasejs/7.23.0/firebase-auth.js"></script>
  <script nonce="undefined" src="https://www.gstatic.com/firebasejs/7.23.0/firebase-firestore.js"></script>
  <script>
    ZingGrid.setLicense(['26ccbfec16b8be9ee98c7d57bee6e498']);
    const zgRef = document.querySelector('zing-grid');
    // Your web app's Firebase configuration
    // For Firebase JS SDK v7.20.0 and later, measurementId is optional
    var firebaseConfig = {
      apiKey: "AIzaSyCao96H2-ZhTPpucwZKss8tF-zjC2F2Mwc",
      authDomain: "zing-grid-demo.firebaseapp.com",
      databaseURL: "https://zing-grid-demo.firebaseio.com",
      projectId: "zing-grid-demo",
      storageBucket: "zing-grid-demo.appspot.com",
      messagingSenderId: "144536649424",
      appId: "1:144536649424:web:58dcce9b221f0102dda8d5",
      measurementId: "G-FMNYY0H0B4"
    };
    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
    const auth = firebase.auth();
    const logout = document.querySelector('#logout');
    auth.signOut();
    logout.style.display = "none";
    const login = document.querySelector('#login');
    logout.addEventListener('click', (e) => {
      e.preventDefault();
      auth.signOut();
      logout.style.display = "none";
      login.style.display = "";
      zgRef.refresh();
    });
    login.addEventListener('click', (e) => {
      e.preventDefault();
      auth.signInWithEmailAndPassword('demo.user@zingsoft.com', 'zingdemo').then((cred) => {
        login.style.display = "none";
        logout.style.display = "";
        zgRef.refresh();
      });
    });
  </script>
</body>
</html>
</html>
       
      
        
        <!DOCTYPE html>
<html class="zg-html">
<head>
  <meta charset="utf-8">
  <title>ZingGrid: Firestore Auth</title>
  <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script>
</head>
<body>
  <button id="login">Login</button>
  <button id="logout">Logout</button>
  <br><br>
  <zing-grid editor-controls pager caption="Adapter">
    <zg-data adapter="firebaseSDK">
      <zg-param name="collection" value="employees"></zg-param>
    </zg-data>
    <zg-colgroup>
      <zg-column index="name"></zg-column>
      <zg-column index="city"></zg-column>
    </zg-colgroup>
  </zing-grid>
  <!-- The core Firebase JS SDK is always required and must be listed first -->
  <script src="https://www.gstatic.com/firebasejs/7.23.0/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.23.0/firebase-auth.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.23.0/firebase-firestore.js"></script>
</body>
</html>
</html>
       
      
        body {
  background: #e6e6e6;
}
       
      
        const zgRef = document.querySelector('zing-grid');
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
var firebaseConfig = {
  apiKey: "AIzaSyCao96H2-ZhTPpucwZKss8tF-zjC2F2Mwc",
  authDomain: "zing-grid-demo.firebaseapp.com",
  databaseURL: "https://zing-grid-demo.firebaseio.com",
  projectId: "zing-grid-demo",
  storageBucket: "zing-grid-demo.appspot.com",
  messagingSenderId: "144536649424",
  appId: "1:144536649424:web:58dcce9b221f0102dda8d5",
  measurementId: "G-FMNYY0H0B4"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const auth = firebase.auth();
const logout = document.querySelector('#logout');
auth.signOut();
logout.style.display = "none";
const login = document.querySelector('#login');
logout.addEventListener('click', (e) => {
  e.preventDefault();
  auth.signOut();
  logout.style.display = "none";
  login.style.display = "";
  zgRef.refresh();
});
login.addEventListener('click', (e) => {
  e.preventDefault();
  auth.signInWithEmailAndPassword('demo.user@zingsoft.com', 'zingdemo').then((cred) => {
    login.style.display = "none";
    logout.style.display = "";
    zgRef.refresh();
  });
});