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>