44 < meta charset ="UTF-8 ">
55 < title > </ title >
66 < link href ="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css " rel ="stylesheet ">
7+ < link href ="./example.css " rel ="stylesheet ">
78 < script src ="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js "> </ script >
89 < script src ="https://cdn.firebase.com/js/client/1.0.21/firebase.js "> </ script >
910 < script src ="https://github.com/js-data/js-data/releases/download/0.4.1/js-data-0.4.1.min.js "> </ script >
1213 < script src ="./example.js "> </ script >
1314</ head >
1415< body data-ng-controller ="firebaseCtrl as fCtrl ">
16+ < div class ="example-masthead ">
17+ < div class ="container ">
18+ < nav class ="example-nav ">
19+ < a class ="example-nav-item " href ="http://www.js-data.io "> js-data.io</ a >
20+ < a class ="example-nav-item " href ="https://github.com/js-data/js-data/wiki/DSFirebaseAdapter "> API Documentation</ a >
21+ < a class ="example-nav-item " href ="https://github.com/js-data/js-data-firebase "> GitHub</ a >
22+ < a class ="example-nav-item " href ="https://groups.io/org/groupsio/jsdata "> Mailing List</ a >
23+ < a class ="example-nav-item " href ="https://github.com/js-data/js-data-firebase/issues "> Issues</ a >
24+ < a class ="example-nav-item active " href ="# "> Firebase Adapter Demo</ a >
25+ </ nav >
26+ </ div >
27+ </ div >
1528< div class ="container " style ="margin-top: 100px ">
1629 < div class ="col-sm-6 ">
1730 < h1 class ="page-header "> js-data firebase example</ h1 >
@@ -23,8 +36,7 @@ <h3 class="panel-title">Users</h3>
2336 < div class ="list-group ">
2437 < div class ="list-group-item " data-ng-repeat ="user in users track by user.id ">
2538 < div class ="pull-right ">
26- < button class ="btn btn-xs btn-danger " data-ng-click ="remove(user) "
27- data-ng-disabled ="destroying === user.id ">
39+ < button class ="btn btn-xs btn-danger " data-ng-click ="remove(user) ">
2840 Delete
2941 </ button >
3042 </ div >
@@ -34,7 +46,7 @@ <h3 class="panel-title">Users</h3>
3446 < form id ="user-form " name ="user-form " data-ng-submit ="add({ name: fCtrl.name }) ">
3547
3648 < input class ="form-control " type ="text " data-ng-model ="fCtrl.name " id ="name " name ="name "
37- placeholder ="Enter a name and press enter " data-ng-disabled =" creating " />
49+ placeholder ="Enter a name and press enter " />
3850 < input type ="submit " class ="hidden "/>
3951 </ form >
4052 </ div >
@@ -46,45 +58,59 @@ <h3 class="panel-title">Users</h3>
4658angular.module('firebase-example', [])
4759 .factory('store', function () {
4860 var store = new JSData.DS();
49- store.registerAdapter('http', new DSHttpAdapter({
61+
62+ store.registerAdapter('firebase', new DSFirebaseAdapter({
5063 basePath: 'https://js-data-firebase.firebaseio.com'
5164 }, { default: true });
65+
5266 return store;
5367 })
5468 .factory('User', function (store) {
5569 return store.defineResource('user');
5670 })
5771 .controller('firebaseCtrl', function ($scope, $timeout, User) {
5872 var fCtrl = this;
59- User.findAll().then(function () {
73+
74+ User.findAll().then(function (users) {
75+ $scope.users = users;
6076 $scope.$apply();
6177 });
6278
6379 $scope.add = function (user) {
64- $scope.creating = true;
6580 User.create(user).then(function () {
66- $scope.creating = false;
6781 fCtrl.name = '';
68- $timeout();
69- }, function () {
70- $scope.creating = false;
82+ $scope.$apply();
7183 });
7284 };
85+
7386 $scope.remove = function (user) {
74- $scope.destroying = user.id;
7587 User.destroy(user.id).then(function () {
76- delete $scope.destroying;
77- $timeout();
78- }, function () {
79- delete $scope.destroying;
88+ $scope.$apply();
8089 });
8190 };
82- $scope.$watch(function () {
83- return User.lastModified();
84- }, function () {
85- $scope.users = User.filter();
86- });
8791 });
92+ </ code > </ pre >
93+ </ div >
94+ < div >
95+ < pre > < code data-ng-non-bindable >
96+ <div class="list-group">
97+ <div class="list-group-item" data-ng-repeat="user in users track by user.id">
98+ <div class="pull-right">
99+ <button class="btn btn-xs btn-danger" data-ng-click="remove(user)">
100+ Delete
101+ </button>
102+ </div>
103+ {{ user.id }}: {{ user.name }}
104+ </div>
105+ <div class="list-group-item">
106+ <form id="user-form" name="user-form" data-ng-submit="add({ name: fCtrl.name })">
107+
108+ <input class="form-control" type="text" data-ng-model="fCtrl.name" id="name" name="name"
109+ placeholder="Enter a name and press enter"/>
110+ <input type="submit" class="hidden"/>
111+ </form>
112+ </div>
113+ </div>
88114</ code > </ pre >
89115 </ div >
90116</ div >
0 commit comments