@@ -12,7 +12,29 @@ module.exports = Mn.View.extend({
12
12
ui : {
13
13
list_region : '.list-region' ,
14
14
add : '.add-item' ,
15
- dimmer : '.dimmer'
15
+ dimmer : '.dimmer' ,
16
+ search : '.search-form' ,
17
+ query : 'input[name="source-query"]'
18
+ } ,
19
+
20
+ fetch : App . Api . Users . getAll ,
21
+
22
+ showData : function ( response ) {
23
+ this . showChildView ( 'list_region' , new ListView ( {
24
+ collection : new UserModel . Collection ( response )
25
+ } ) ) ;
26
+ } ,
27
+
28
+ showError : function ( err ) {
29
+ this . showChildView ( 'list_region' , new ErrorView ( {
30
+ code : err . code ,
31
+ message : err . message ,
32
+ retry : function ( ) {
33
+ App . Controller . showUsers ( ) ;
34
+ }
35
+ } ) ) ;
36
+
37
+ console . error ( err ) ;
16
38
} ,
17
39
18
40
regions : {
@@ -23,30 +45,31 @@ module.exports = Mn.View.extend({
23
45
'click @ui.add' : function ( e ) {
24
46
e . preventDefault ( ) ;
25
47
App . Controller . showUserForm ( new UserModel . Model ( ) ) ;
48
+ } ,
49
+
50
+ 'submit @ui.search' : function ( e ) {
51
+ e . preventDefault ( ) ;
52
+ let query = this . ui . query . val ( ) ;
53
+
54
+ this . fetch ( [ 'permissions' ] , query )
55
+ . then ( response => this . showData ( response ) )
56
+ . catch ( err => {
57
+ this . showError ( err ) ;
58
+ } ) ;
26
59
}
27
60
} ,
28
61
29
62
onRender : function ( ) {
30
63
let view = this ;
31
64
32
- App . Api . Users . getAll ( [ 'permissions' ] )
65
+ view . fetch ( [ 'permissions' ] )
33
66
. then ( response => {
34
67
if ( ! view . isDestroyed ( ) && response && response . length ) {
35
- view . showChildView ( 'list_region' , new ListView ( {
36
- collection : new UserModel . Collection ( response )
37
- } ) ) ;
68
+ view . showData ( response ) ;
38
69
}
39
70
} )
40
71
. catch ( err => {
41
- view . showChildView ( 'list_region' , new ErrorView ( {
42
- code : err . code ,
43
- message : err . message ,
44
- retry : function ( ) {
45
- App . Controller . showUsers ( ) ;
46
- }
47
- } ) ) ;
48
-
49
- console . error ( err ) ;
72
+ view . showError ( err ) ;
50
73
} )
51
74
. then ( ( ) => {
52
75
view . ui . dimmer . removeClass ( 'active' ) ;
0 commit comments