$('#contactForm').submit(function(event) { // prevent page reload event.preventDefault(); var name = $('#name').val(); var email = $('#email').val(); var mobile = $('#mobile').val(); // Save the contact to the database with Hoodie hoodie.store.add({ name: name, mobile: mobile, email: email }); $('#contactForm')[0].reset(); }); $('#signup').click(function (event) { signUp(); }); $('#signin').click(function (event) { signIn(); }); $('#signout').click(function (event) { signOut(); }); if (hoodie.account.isSignedIn()) { showAuthenticated(); } else { showAnonymous(); } // when the site loads in the browser, // we load all previously saved contacts from hoodie loadContacts(); //when a new entry is added to the database, run the corresponding function hoodie.store.on('add', addNewContactToList); function loadContacts() { hoodie.store.findAll().then(function(contacts) { var tbody = ''; $.each(contacts, function (i, contact) { var row = '' + contact.name + '' + contact.mobile + '' + contact.email + ''; tbody += row; }); $("#contactList tbody").html('').html(tbody); }); } function addNewContactToList(contact) { var newContact = '' + contact.name + '' + contact.mobile + '' + contact.email + '' $("#contactList tbody").append(newContact); } function signUp() { var username = prompt('username'); var password = prompt('password'); hoodie.account.signUp({ username: username, password: password }) .then(function() { return hoodie.account.signIn({ username: username, password: password }); }) .then(function() { showAuthenticated(); }) .catch(function(errror) { alert('Ooops, something went wrong: ' + error.message); }) } function signIn(){ var username = prompt('username'); var password = prompt('password'); hoodie.account.signIn({ username: username, password: password }) .then(function() { showAuthenticated(); }) .catch(function(error) { alert('ooops: ' + error.message); }); } function signOut(){ hoodie.account.signOut() .then(function() { showAnonymous(); }) .catch(function(error) { alert('ooops: ' + error.message); }); } function showAuthenticated(){ $('#username').text('signed in as ' + hoodie.account.username); $('#authenticated').show(); $('#anonymous').hide(); } function showAnonymous(){ $('#authenticated').hide(); $('#anonymous').show(); }