js-data firebase example

Users

{{ user.id }}: {{ user.name }}

angular.module('firebase-example', [])
  .factory('store', function () {
    var store = new JSData.DS();

    store.registerAdapter('firebase', new DSFirebaseAdapter({
      basePath: 'https://js-data-firebase.firebaseio.com'
    }, { default: true });

    return store;
  })
  .factory('User', function (store) {
    return store.defineResource('user');
  })
  .controller('firebaseCtrl', function ($scope, $timeout, User) {
    var fCtrl = this;

    User.findAll().then(function (users) {
      $scope.users = users;
      $scope.$apply();
    });

    $scope.add = function (user) {
      User.create(user).then(function () {
        fCtrl.name = '';
        $scope.$apply();
      });
    };

    $scope.remove = function (user) {
      User.destroy(user.id).then(function () {
        $scope.$apply();
      });
    };
  });

<div class="list-group">
  <div class="list-group-item" data-ng-repeat="user in users track by user.id">
    <div class="pull-right">
      <button class="btn btn-xs btn-danger" data-ng-click="remove(user)">
        Delete
      </button>
    </div>
    {{ user.id }}: {{ user.name }}
  </div>
  <div class="list-group-item">
    <form id="user-form" name="user-form" data-ng-submit="add({ name: fCtrl.name })">

      <input class="form-control" type="text" data-ng-model="fCtrl.name" id="name" name="name"
             placeholder="Enter a name and press enter"/>
      <input type="submit" class="hidden"/>
    </form>
  </div>
</div>