3
3
4
4
var currentUser ;
5
5
6
+
6
7
$ ( function ( ) {
7
8
var usersDetails = getUserNameAndGroupFromStorage ( ) ;
8
9
if ( usersDetails && usersDetails . length > 0 ) {
@@ -32,8 +33,7 @@ function configureAppAndLoadUser() {
32
33
CONFIG . APP_CONFIG
33
34
) ;
34
35
35
- QB . createSession ( function ( ) {
36
-
36
+ QB . createSession ( function ( err , res ) {
37
37
$ ( '#loginForm' ) . modal ( 'show' ) ;
38
38
$ ( '#loginForm .progress' ) . hide ( ) ;
39
39
@@ -58,103 +58,61 @@ function configureAppAndLoadUser() {
58
58
'tag_list' : userTag
59
59
} ;
60
60
61
- QB . users . get ( { login : currentUser . login } , function ( error , user ) {
61
+ var params = { login : userName , password : "quickblox" } ;
62
+
63
+ QB . login ( params , function ( error , user ) {
62
64
if ( user ) {
63
- connectToChat ( ) ;
64
- } else if ( error && error . code === 404 ) {
65
- QB . users . create ( currentUser , function ( error , user ) {
66
- if ( user ) {
67
- connectToChat ( ) ;
68
- } else {
65
+ connectToChat ( user ) ;
66
+ saveUserNameAndGroupToStorage ( userName , userTag ) ;
67
+
68
+ $ ( '#inputUserName' ) . val ( '' ) ;
69
+ $ ( '#inputGroupName' ) . val ( '' ) ;
70
+ } else {
71
+ createUser ( params ) . then (
72
+ function ( ) {
73
+ QB . login ( params , function ( e , newUser ) {
74
+ connectToChat ( newUser ) ;
75
+ saveUserNameAndGroupToStorage ( userName , userTag ) ;
76
+
77
+ $ ( '#inputUserName' ) . val ( '' ) ;
78
+ $ ( '#inputGroupName' ) . val ( '' ) ;
79
+ } ) ;
80
+ }
81
+ ) . catch (
82
+ function ( error ) {
69
83
loginError ( error ) ;
70
84
}
71
- } ) ;
72
- } else {
73
- loginError ( error ) ;
85
+ ) ;
74
86
}
75
-
76
- saveUserNameAndGroupToStorage ( userName , userTag ) ;
77
-
78
- $ ( '#inputUserName' ) . val ( '' ) ;
79
- $ ( '#inputGroupName' ) . val ( '' ) ;
80
87
} ) ;
81
88
} ) ;
82
89
83
-
84
90
// can provide username & usergroup via query string for autologin
85
91
//
86
92
var username = getQueryVar ( 'username' ) ;
87
93
var usergroup = getQueryVar ( 'usergroup' ) ;
88
94
console . info ( "username: " + username + ", usergroup: " + usergroup ) ;
89
95
//
90
96
if ( username && usergroup ) {
91
- $ ( '#inputUserName' ) . val ( username ) ;
92
- $ ( '#inputGroupName' ) . val ( usergroup ) ;
97
+ $ ( '#inputUserName' ) . val ( username ) ;
98
+ $ ( '#inputGroupName' ) . val ( usergroup ) ;
93
99
94
- $ ( '.login-button' ) . trigger ( "click" ) ;
100
+ $ ( '.login-button' ) . trigger ( "click" ) ;
95
101
}
96
-
97
102
} ) ;
98
103
}
99
104
100
- function connectToChat ( ) {
101
- $ ( '#loginFormContainer' ) . hide ( ) ;
102
- $ ( '#loginForm .progress' ) . show ( ) ;
103
-
104
- QB . login ( {
105
- login : currentUser . login ,
106
- password : currentUser . password
107
- } , function ( error , user ) {
108
- if ( user ) {
109
- currentUser . id = user . id ;
110
- updateUser ( user ) ;
111
- mergeUsers ( [ {
112
- user : user
113
- } ] ) ;
114
-
115
- QB . chat . connect ( {
116
- userId : currentUser . id ,
117
- password : currentUser . password
118
- } , function ( err , roster ) {
119
- if ( err ) {
120
- console . error ( "connect to chat error: " , err ) ;
121
- } else {
122
- $ ( '#loginForm' ) . modal ( 'hide' ) ;
123
- $ ( '.current-user-login' ) . text ( 'Logged as: ' + currentUser . full_name + "(" + currentUser . id + ")" ) ;
124
-
125
- // retrieve dialogs' list
126
- retrieveChatDialogs ( ) ;
127
- onUpdateChatDialogs ( ) ;
128
- // setup message listeners
129
- setupAllListeners ( ) ;
130
- // setup scroll events handler
131
- setupMsgScrollHandler ( ) ;
132
-
133
- setupStreamManagementListeners ( ) ;
134
- }
135
- } ) ;
136
- } else {
137
- loginError ( error ) ;
138
- }
105
+ function createUser ( user ) {
106
+ return new Promise ( function ( resolve , reject ) {
107
+ QB . users . create ( user , function ( error , result ) {
108
+ if ( error ) {
109
+ reject ( error ) ;
110
+ } else {
111
+ resolve ( result ) ;
112
+ }
113
+ } ) ;
139
114
} ) ;
140
- }
141
-
142
- function setupAllListeners ( ) {
143
- QB . chat . onMessageListener = onMessage ;
144
- QB . chat . onSystemMessageListener = onSystemMessageListener ;
145
- QB . chat . onDeliveredStatusListener = onDeliveredStatusListener ;
146
- QB . chat . onReadStatusListener = onReadStatusListener ;
147
-
148
- setupIsTypingHandler ( ) ;
149
- }
150
- // reconnection listeners
151
- function onDisconnectedListener ( ) {
152
- console . log ( "onDisconnectedListener" ) ;
153
- }
154
-
155
- function onReconnectListener ( ) {
156
- console . log ( "onReconnectListener" ) ;
157
- }
115
+ } ;
158
116
159
117
function updateUser ( resUser ) {
160
118
var params = { } ;
@@ -180,6 +138,61 @@ function updateUser(resUser) {
180
138
}
181
139
}
182
140
141
+ function connectToChat ( user ) {
142
+ $ ( '#loginFormContainer' ) . hide ( ) ;
143
+ $ ( '#loginForm .progress' ) . show ( ) ;
144
+
145
+ if ( user ) {
146
+ currentUser . id = user . id ;
147
+ updateUser ( user ) ;
148
+ mergeUsers ( [ {
149
+ user : user
150
+ } ] ) ;
151
+
152
+ QB . chat . connect ( {
153
+ userId : currentUser . id ,
154
+ password : currentUser . password
155
+ } , function ( err , roster ) {
156
+ if ( err ) {
157
+ console . error ( "connect to chat error: " , err ) ;
158
+ } else {
159
+ $ ( '#loginForm' ) . modal ( 'hide' ) ;
160
+ $ ( '.current-user-login' ) . text ( 'Logged as: ' + currentUser . full_name + "(" + currentUser . id + ")" ) ;
161
+
162
+ // retrieve dialogs' list
163
+ retrieveChatDialogs ( ) ;
164
+ onUpdateChatDialogs ( ) ;
165
+ // setup message listeners
166
+ setupAllListeners ( ) ;
167
+ // setup scroll events handler
168
+ setupMsgScrollHandler ( ) ;
169
+
170
+ setupStreamManagementListeners ( ) ;
171
+ }
172
+ } ) ;
173
+ } else {
174
+ loginError ( error ) ;
175
+ }
176
+ }
177
+
178
+ function setupAllListeners ( ) {
179
+ QB . chat . onMessageListener = onMessage ;
180
+ QB . chat . onSystemMessageListener = onSystemMessageListener ;
181
+ QB . chat . onDeliveredStatusListener = onDeliveredStatusListener ;
182
+ QB . chat . onReadStatusListener = onReadStatusListener ;
183
+
184
+ setupIsTypingHandler ( ) ;
185
+ }
186
+
187
+ // reconnection listeners
188
+ function onDisconnectedListener ( ) {
189
+ console . log ( "onDisconnectedListener" ) ;
190
+ }
191
+
192
+ function onReconnectListener ( ) {
193
+ console . log ( "onReconnectListener" ) ;
194
+ }
195
+
183
196
function onUpdateChatDialogs ( ) {
184
197
$ ( '#updateHistory' ) . on ( 'click' , function ( ) {
185
198
$ ( '#dialogs-list' ) . html ( '' ) ;
0 commit comments