161 lines
6.6 KiB
JavaScript
161 lines
6.6 KiB
JavaScript
//ICSClientUIClass constructor
|
|
|
|
function ICSClientUIClass() {
|
|
this.GetUserStatus = function () {
|
|
var talkingStr = "";
|
|
var queueingStr = "";
|
|
var alertingStr = "";
|
|
|
|
if (ICSClientState.GetWebChatCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_CONNECTED) {
|
|
talkingStr += "webchat-";
|
|
}
|
|
else if (ICSClientState.GetWebChatCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_QUEUEING) {
|
|
queueingStr += "webchat-";
|
|
}
|
|
else if (ICSClientState.GetWebChatCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_ALERTING) {
|
|
alertingStr += "webchat-";
|
|
}
|
|
|
|
if (ICSClientState.GetClickCallCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_CONNECTED) {
|
|
talkingStr += "clickcall-";
|
|
}
|
|
else if (ICSClientState.GetClickCallCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_QUEUEING) {
|
|
queueingStr += "clickcall-";
|
|
}
|
|
else if (ICSClientState.GetClickCallCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_ALERTING) {
|
|
alertingStr += "clickcall-";
|
|
}
|
|
|
|
if (ICSClientState.GetCallBackCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_CONNECTED) {
|
|
talkingStr += "callback";
|
|
}
|
|
else if (ICSClientState.GetCallBackCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_QUEUEING) {
|
|
queueingStr += "callback";
|
|
}
|
|
else if (ICSClientState.GetCallBackCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_ALERTING) {
|
|
alertingStr += "callback";
|
|
}
|
|
|
|
if (ICSClientState.GetVCCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_CONNECTED) {
|
|
talkingStr += "vccall";
|
|
}
|
|
else if (ICSClientState.GetVCCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_QUEUEING) {
|
|
queueingStr += "vccall";
|
|
}
|
|
else if (ICSClientState.GetVCCallState().status === ICSCLIENT_CALL_STATUS.ICSCLIENT_CALL_STATUS_ALERTING) {
|
|
alertingStr += "vccall";
|
|
}
|
|
//return the status object
|
|
var obj = new Object();
|
|
obj.hasTalking = false;
|
|
obj.hasQueueing = false;
|
|
obj.hasAlerting = false;
|
|
if ( talkingStr !== "" ) {
|
|
obj.hasTalking = true;
|
|
}
|
|
if ( queueingStr !== "" ) {
|
|
obj.hasQueueing = true;
|
|
}
|
|
if ( alertingStr !== "" ) {
|
|
obj.hasAlerting = true;
|
|
}
|
|
obj.talkingstr = "<font color='green'>Talking-" + talkingStr + "</font>";
|
|
obj.queueingstr = "<font color='red'>Queueing-" + queueingStr + "</font>";
|
|
obj.alertingstr = "<font color='blue'>Alerting-" + alertingStr + "</font>";
|
|
return obj;
|
|
}
|
|
this.UpdateStatusMessage = function () {
|
|
var userStatus = this.GetUserStatus();
|
|
var htmlInner = "";
|
|
if (userStatus.hasTalking) {
|
|
htmlInner += userStatus.talkingstr;
|
|
}
|
|
if (userStatus.hasQueueing) {
|
|
htmlInner += userStatus.queueingstr;
|
|
}
|
|
if (userStatus.hasAlerting){
|
|
htmlInner += userStatus.alertingstr;
|
|
}
|
|
if (!(userStatus.hasTalking) && !(userStatus.hasQueueing) && !(userStatus.hasAlerting)) {
|
|
var userAppState = ICSClientState.GetUserAppState();
|
|
// if there is no call and queueing now, update current uvid and callid to be empty
|
|
ICSClientState.SetCurrentCallID("");
|
|
ICSClientState.SetCurrentCallUVID(-1);
|
|
if (userAppState === ICSCLIENT_USER_STATE.ICS_USER_STATE_LOGIN) {
|
|
htmlInner = "<font color='blue'>" + 'login' + "</font>";
|
|
}
|
|
else if (userAppState === ICSCLIENT_USER_STATE.ICS_USER_STATE_LOGIN) {
|
|
htmlInner = "<font color='black'>" + 'no login' + "</font>";
|
|
}
|
|
else {
|
|
ERROR_LOG_METHOD("ICSClientUI", "There should not be such a state here!");
|
|
}
|
|
//when all all is over , teminate the meeting that the user has joined
|
|
if (ConferenceState.GetCurrentJoinedConfID() !== ""){
|
|
ConferenceExcute("TerminateConf");
|
|
}
|
|
|
|
}
|
|
|
|
// document.getElementById("UserAppDemo.Status").innerHTML = htmlInner;
|
|
}
|
|
}
|
|
|
|
//methods declare
|
|
ICSClientUIClass.prototype = {
|
|
UpdateWhenUserLogin: function () {
|
|
// document.getElementById("UserAppDemo.Status").innerHTML = "<font color='blue'>" + 'login' + "</font>";
|
|
// document.getElementById("UserAppDemo.Login").style.display = "none";
|
|
// document.getElementById("UserAppDemo.Logout").style.display = "inline";
|
|
},
|
|
UpdateWhenUserLogout: function () {
|
|
// document.getElementById("UserAppDemo.Status").innerHTML = "<font color='black'>" + 'no login' + "</font>";
|
|
// document.getElementById("UserAppDemo.Login").style.display = "inline";
|
|
// document.getElementById("UserAppDemo.Logout").style.display = "none";
|
|
},
|
|
UpdateWhenUserQueueing: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenUserQueueingEnd: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenWebChatCallBegin: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenWebChatCallEnd: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenClickCallCallBegin: function () {
|
|
this.UpdateStatusMessage();
|
|
VoiceExcute("AnonymousCall", UserConfig.Voice.AnnonymousCard, ICSClientState.GetAnonymousCallee());
|
|
},
|
|
UpdateWhenClickCallCallEnd: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenCallBackCallBegin: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenCallBackCallEnd: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenVCCallBegin: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenVCCallEnd: function () {
|
|
this.UpdateStatusMessage();
|
|
},
|
|
UpdateWhenChatContentCleared: function () {
|
|
// document.getElementById("UserAppDemo.ChatTextBox").innerText = "";
|
|
},
|
|
UpdateWhenChatContentReceived: function () {
|
|
// document.getElementById("UserAppDemo.ChatTextBox").innerText = ICSClientState.GetChatContent();
|
|
},
|
|
UpdateWhenChatContentSent: function () {
|
|
// document.getElementById("UserAppDemo.ChatTextBox").innerText = ICSClientState.GetChatContent();
|
|
// document.getElementById("UserAppDemo.ChatMessage").value = "";
|
|
},
|
|
UpdateWhenPrepareJoinMeeting: function (sConfInfo) {
|
|
//automatically fire the action to join conf
|
|
ConferenceExcute("JoinConf", sConfInfo);
|
|
}
|
|
} |