Skip to content

Commit 68c75b0

Browse files
author
Lionel Laské
committed
Update ChatActivity to wait connection
1 parent 47ac860 commit 68c75b0

File tree

5 files changed

+19
-7
lines changed

5 files changed

+19
-7
lines changed

activities/ChatPrototype.activity/css/activity.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ color:green;
4545
color:red;
4646
}
4747

48+
.error {
49+
color:red;
50+
}
51+
4852
ul {
4953
list-style:none;
5054
font-size:.95rem;

activities/ChatPrototype.activity/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<div id="content"><ul id="messages"></ul></div>
3434

3535

36-
<textarea id="message" placeholder="Send Message" required autofocus></textarea>
36+
<textarea id="message" placeholder="Send Message" required autofocus readonly></textarea>
3737
<p id="status">Connecting...</p>
3838
</div>
3939
</body>

activities/ChatPrototype.activity/js/activity.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,26 @@ define(function (require) {
2323
var presenceObject = new SugarPresence();
2424

2525
var sugarSettings = JSON.parse(localStorage.sugar_settings);
26-
2726
var userInfo = [sugarSettings.name, sugarSettings.colorvalue];
2827

2928
console.log(userInfo);
30-
socketStatus.innerHTML = 'Connected';
31-
socketStatus.className = 'open';
3229

3330
if (sugarSettings.name == '<No name>') {
3431

3532
userInfo[0] = 'User';
3633

3734
}
3835

39-
presenceObject.joinNetwork(userInfo);
36+
presenceObject.joinNetwork(userInfo, function (error, user) {
37+
if (error) {
38+
socketStatus.innerHTML = 'Error';
39+
socketStatus.className = 'error';
40+
} else {
41+
socketStatus.innerHTML = 'Connected';
42+
socketStatus.className = 'open';
43+
messageField.readOnly = false;
44+
}
45+
});
4046

4147
// Handle messages received.
4248
presenceObject.onDataReceived(function (msg) {

activities/ChatPrototype.activity/lib/sugar-web/presence.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
}
3939

40-
SugarPresence.prototype.joinNetwork = function(userInfo) {
40+
SugarPresence.prototype.joinNetwork = function(userInfo, callback) {
4141

4242
var server = location.hostname;
4343
if (localStorage.sugar_settings) {
@@ -55,10 +55,12 @@
5555

5656
this.socket.onerror = function(error) {
5757
console.log('WebSocket Error: ' + error);
58+
callback(error, null);
5859
};
5960
var that = this;
6061
this.onConnectionOpen(function (event) {
6162
that.registerUser("sampleuserId",userInfo);
63+
callback(null, userInfo);
6264
});
6365
}
6466

js/homeview.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ enyo.kind({
4747
});
4848

4949
// Call activities list service
50-
if (preferences.isConnected()) {
50+
if (util.getClientType() == constant.thinClientType) {
5151
this.$.activities.setUrl(myserver.getActivitiesUrl());
5252
} else {
5353
this.$.activities.setUrl(constant.staticInitActivitiesURL);

0 commit comments

Comments
 (0)