LOGC#76927 Beter/sneller kenbaar maken dat er geen operators online zijn in de chat
svn path=/Website/trunk/; revision=63923
This commit is contained in:
@@ -16,7 +16,7 @@ var JSON_Result = true;
|
||||
<!-- #include file="./chat.inc" -->
|
||||
<%
|
||||
|
||||
var acceptchannelId = getQParam("channelId");
|
||||
var acceptchannelId = getFParam("channelId");
|
||||
|
||||
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
||||
if (acceptchannelId in chat_queue.accepting)
|
||||
@@ -27,7 +27,7 @@ Application.Lock();
|
||||
Application(chat_queue_name) = JSON.stringify(chat_queue);
|
||||
Application.UnLock();
|
||||
|
||||
result = { status: "OK" };
|
||||
result = {};
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -16,16 +16,20 @@ var JSON_Result = true;
|
||||
<%
|
||||
|
||||
var wantchannelId = getQParam("channelId");
|
||||
|
||||
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
||||
|
||||
if (wantchannelId in chat_queue.wanting)
|
||||
{
|
||||
chat_queue.wanting[wantchannelId].alive = new Date().getTime();
|
||||
Application.Lock();
|
||||
Application(chat_queue_name) = JSON.stringify(chat_queue);
|
||||
Application.UnLock();
|
||||
|
||||
result = chat_queue;
|
||||
Application.Lock();
|
||||
Application(chat_queue_name) = JSON.stringify(chat_queue);
|
||||
Application.UnLock();
|
||||
}
|
||||
var result = {hasChatOnline: 0};
|
||||
for (var ch in chat_queue.accepting)
|
||||
{
|
||||
result.hasChatOnline++;
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ Application.UnLock();
|
||||
FcltMgr.startEdit(window); // maakt hem hot
|
||||
var acceptchannelId = "<%=acceptchannelId%>";
|
||||
var dis_key = <%=dis_key%>;
|
||||
|
||||
function accept_chat(x, y)
|
||||
{
|
||||
var wantId = $(this).data("wantid");
|
||||
@@ -53,6 +54,7 @@ Application.UnLock();
|
||||
FcltMgr.openDetail( "appl/chat/Chatter.asp?chatsendid=" + wantId + "&prs_key=" + prs_key + "&message=" + escape(message) + "&accept=1&naam=" + naam, L("lcl_chatter_incoming").format(naam));
|
||||
view_queue(); // op de achtergrond blijven refreshen
|
||||
}
|
||||
|
||||
async function show_queue(data)
|
||||
{
|
||||
//$("#chatqueue").html("<xmp>" + JSON.stringify(data, null, 4) + "</xmp>");
|
||||
@@ -111,11 +113,19 @@ Application.UnLock();
|
||||
FcltMgr.resized();
|
||||
notify.wait(window.acceptchannelId, null, view_queue, { alwaysafter: 10 });
|
||||
}
|
||||
window.onbeforeunload = function()
|
||||
{ // Bij sluiten van tabblad de id opruimen.
|
||||
$.post( "./ChatterClose.asp?channelId=<%=acceptchannelId%>");
|
||||
return true;
|
||||
}
|
||||
|
||||
function onCloseHot()
|
||||
{
|
||||
var data = { channelId: "<%=acceptchannelId%>" };
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
jQuery.ajaxSetup({async: false}); // Anders faalt o.a. bij IE9 de $.post bij afsluiten
|
||||
$.post( "ChatClose.asp"
|
||||
, data
|
||||
, FcltCallback
|
||||
, "json"
|
||||
);
|
||||
}
|
||||
|
||||
function view_queue()
|
||||
{
|
||||
$.getJSON( "./ChatQueueGet.asp" + (dis_key > 0 ? "?dis_key=" + dis_key : ""), show_queue);
|
||||
|
||||
@@ -23,15 +23,6 @@ var ins_discipline_omschrijving = get_disc_name(dis_key);
|
||||
// TODO: als er geen chat_queue.accepting zijn dat direct melden?
|
||||
Application.Lock();
|
||||
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
||||
var hasChatOnline = 0;
|
||||
if (chat_queue.accepting)
|
||||
{
|
||||
for( var acceptId in chat_queue.accepting)
|
||||
{
|
||||
hasChatOnline++;
|
||||
}
|
||||
}
|
||||
|
||||
Application.UnLock();
|
||||
%>
|
||||
<html>
|
||||
@@ -46,7 +37,7 @@ Application.UnLock();
|
||||
FcltMgr.startEdit(window); // maakt hem hot
|
||||
}
|
||||
|
||||
var hasChatOnline = <%=hasChatOnline%>;
|
||||
var hasChatOnline = 0;
|
||||
var wantchannelId = "<%=wantchannelId%>";
|
||||
var startMessage;
|
||||
var timerId;
|
||||
@@ -124,17 +115,13 @@ Application.UnLock();
|
||||
Response.Write("\nnotify.signal('{0}');".format(acceptchannelId));
|
||||
}
|
||||
%>
|
||||
function sendQueueAlive()
|
||||
function sendQueueAlive(init)
|
||||
{
|
||||
$.getJSON( "ChatQueueAlive.asp?channelId=" + wantchannelId
|
||||
, function(data)
|
||||
{ // Kijk opnieuw of er nog medewerkers aanwezig zijn om de chat te beantwoorden.
|
||||
hasChatOnline = 0;
|
||||
for (var ch in data.accepting)
|
||||
{
|
||||
hasChatOnline++;
|
||||
}
|
||||
handleChatOnline();
|
||||
hasChatOnline = data.hasChatOnline;
|
||||
handleChatOnline(init);
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -180,7 +167,7 @@ Application.UnLock();
|
||||
}
|
||||
|
||||
$(function () {
|
||||
handleChatOnline(true);
|
||||
sendQueueAlive(true);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user