4
4
< meta charset ="UTF-8 ">
5
5
< title > js-data-firebase & Angular</ title >
6
6
< link href ="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css " rel ="stylesheet ">
7
+ < link rel ="stylesheet " href ="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/default.min.css ">
7
8
< link href ="./example.css " rel ="stylesheet ">
9
+ < script src ="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js "> </ script >
8
10
< script src ="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js "> </ script >
9
11
< script src ="https://cdn.firebase.com/js/client/2.1.2/firebase.js "> </ script >
10
- < script src ="https://github.com/js-data/js-data/releases/download/1.4.0 /js-data.min.js "> </ script >
12
+ < script src ="https://github.com/js-data/js-data/releases/download/1.5.2 /js-data.min.js "> </ script >
11
13
< script
12
14
src ="https://github.com/js-data/js-data-firebase/releases/download/1.0.1/js-data-firebase.min.js "> </ script >
13
- < script src ="https://github.com/js-data/js-data-angular/releases/download/2.2.0 /js-data-angular.min.js "> </ script >
15
+ < script src ="https://github.com/js-data/js-data-angular/releases/download/2.2.1 /js-data-angular.min.js "> </ script >
14
16
< script src ="./example.js "> </ script >
15
17
</ head >
16
18
< body data-ng-controller ="firebaseCtrl as fCtrl ">
@@ -41,7 +43,7 @@ <h3 class="panel-title">Users</h3>
41
43
Delete
42
44
</ button >
43
45
</ div >
44
- {{ user.id }}: {{ user. name }}
46
+ {{ user.name }}
45
47
</ div >
46
48
< div class ="list-group-item ">
47
49
< form id ="user-form " name ="user-form " data-ng-submit ="add({ name: fCtrl.name }) ">
@@ -55,50 +57,63 @@ <h3 class="panel-title">Users</h3>
55
57
</ div >
56
58
</ div >
57
59
< div >
58
- < pre > < code >
60
+ < pre > < code class =" javascript " >
59
61
angular.module('firebase-example', ['js-data'])
60
62
.config(function (DSFirebaseAdapterProvider) {
61
- DSFirebaseAdapterProvider.defaults.basePath = 'https://js-data-firebase.firebaseio.com';
63
+ var basePath = 'https://js-data-firebase.firebaseio.com';
64
+ DSFirebaseAdapterProvider.defaults.basePath = basePath;
62
65
})
63
66
.run(function (DS, DSFirebaseAdapter) {
64
- // js-data-angular created a new store automatically and registered it as DS.
65
- // The firebase adapter was already registered, but we want to make it the default.
66
- DS.registerAdapter('firebase', DSFirebaseAdapter, { default: true });
67
+
68
+ // js-data-angular created a new store
69
+ // automatically and registered it as DS.
70
+ // The firebase adapter was already registered,
71
+ // but we want to make it the default.
72
+ DS.registerAdapter(
73
+ 'firebase',
74
+ DSFirebaseAdapter,
75
+ { default: true }
76
+ );
67
77
})
68
78
.factory('User', function (DS) {
69
79
return DS.defineResource('user');
70
80
})
71
81
.controller('firebaseCtrl', function ($scope, User) {
72
82
var fCtrl = this;
73
83
74
- User.findAll().then(function () {
75
- $scope.users = User.filter();
76
- } );
84
+ // Pull the initial list of users
85
+ // from Firebase
86
+ User.findAll( );
77
87
88
+ // Update the list of users on the
89
+ // scope whenever the collection
90
+ // changes
78
91
User.bindAll({}, $scope, 'users');
79
92
80
93
$scope.add = function (user) {
94
+ // Create a new user in Firebase
81
95
return User.create(user).then(function () {
82
96
fCtrl.name = '';
83
97
});
84
98
};
85
99
86
100
$scope.remove = function (user) {
101
+ // Destroy a user from firebase
87
102
return User.destroy(user.id);
88
103
};
89
104
});
90
105
</ code > </ pre >
91
106
</ div >
92
107
< div >
93
- < pre > < code data-ng-non-bindable >
108
+ < pre > < code data-ng-non-bindable class =" html " >
94
109
<div class="list-group">
95
110
<div class="list-group-item" data-ng-repeat="user in users track by user.id">
96
111
<div class="pull-right">
97
112
<button class="btn btn-xs btn-danger" data-ng-click="remove(user)">
98
113
Delete
99
114
</button>
100
115
</div>
101
- {{ user.id }}: {{ user. name }}
116
+ {{ user.name }}
102
117
</div>
103
118
<div class="list-group-item">
104
119
<form id="user-form" name="user-form" data-ng-submit="add({ name: fCtrl.name })">
0 commit comments