@@ -9,12 +9,12 @@ var Users = new Firebase(baseURL + 'users')
9
9
10
10
Users . on ( 'child_added' , function ( snapshot ) {
11
11
var item = snapshot . val ( )
12
- item . id = snapshot . name ( )
12
+ item . id = snapshot . key ( )
13
13
app . users . push ( item )
14
14
} )
15
15
16
16
Users . on ( 'child_removed' , function ( snapshot ) {
17
- var id = snapshot . name ( )
17
+ var id = snapshot . key ( )
18
18
app . users . some ( function ( user ) {
19
19
if ( user . id === id ) {
20
20
app . users . $remove ( user )
@@ -38,56 +38,37 @@ var app = new Vue({
38
38
newUser : {
39
39
name : '' ,
40
40
email : ''
41
- } ,
42
- validation : {
43
- name : false ,
44
- email : false
45
- }
46
- } ,
47
-
48
- // validation filters are "write only" filters
49
- filters : {
50
- nameValidator : {
51
- write : function ( val ) {
52
- this . validation . name = ! ! val
53
- return val
54
- }
55
- } ,
56
- emailValidator : {
57
- write : function ( val ) {
58
- this . validation . email = emailRE . test ( val )
59
- return val
60
- }
61
41
}
62
42
} ,
63
43
64
44
// computed property for form validation state
65
45
computed : {
66
- isValid : function ( ) {
67
- var valid = true
68
- for ( var key in this . validation ) {
69
- if ( ! this . validation [ key ] ) {
70
- valid = false
71
- }
46
+ validation : function ( ) {
47
+ return {
48
+ name : ! ! this . newUser . name . trim ( ) ,
49
+ email : emailRE . test ( this . newUser . email )
72
50
}
73
- return valid
51
+ } ,
52
+ isValid : function ( ) {
53
+ var validation = this . validation
54
+ return Object . keys ( validation ) . every ( function ( key ) {
55
+ return validation [ key ]
56
+ } )
74
57
}
75
58
} ,
76
-
59
+
77
60
// methods
78
61
methods : {
79
62
addUser : function ( e ) {
80
63
e . preventDefault ( )
81
64
if ( this . isValid ) {
82
65
Users . push ( this . newUser )
83
- this . newUser = {
84
- name : '' ,
85
- email : ''
86
- }
66
+ this . newUser . name = ''
67
+ this . newUser . email = ''
87
68
}
88
69
} ,
89
70
removeUser : function ( user ) {
90
71
new Firebase ( baseURL + 'users/' + user . id ) . remove ( )
91
72
}
92
73
}
93
- } )
74
+ } )
0 commit comments