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" -->
|
<!-- #include file="./chat.inc" -->
|
||||||
<%
|
<%
|
||||||
|
|
||||||
var acceptchannelId = getQParam("channelId");
|
var acceptchannelId = getFParam("channelId");
|
||||||
|
|
||||||
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
||||||
if (acceptchannelId in chat_queue.accepting)
|
if (acceptchannelId in chat_queue.accepting)
|
||||||
@@ -27,7 +27,7 @@ Application.Lock();
|
|||||||
Application(chat_queue_name) = JSON.stringify(chat_queue);
|
Application(chat_queue_name) = JSON.stringify(chat_queue);
|
||||||
Application.UnLock();
|
Application.UnLock();
|
||||||
|
|
||||||
result = { status: "OK" };
|
result = {};
|
||||||
|
|
||||||
Response.Write(JSON.stringify(result));
|
Response.Write(JSON.stringify(result));
|
||||||
|
|
||||||
@@ -16,16 +16,20 @@ var JSON_Result = true;
|
|||||||
<%
|
<%
|
||||||
|
|
||||||
var wantchannelId = getQParam("channelId");
|
var wantchannelId = getQParam("channelId");
|
||||||
|
|
||||||
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
||||||
|
|
||||||
if (wantchannelId in chat_queue.wanting)
|
if (wantchannelId in chat_queue.wanting)
|
||||||
|
{
|
||||||
chat_queue.wanting[wantchannelId].alive = new Date().getTime();
|
chat_queue.wanting[wantchannelId].alive = new Date().getTime();
|
||||||
Application.Lock();
|
Application.Lock();
|
||||||
Application(chat_queue_name) = JSON.stringify(chat_queue);
|
Application(chat_queue_name) = JSON.stringify(chat_queue);
|
||||||
Application.UnLock();
|
Application.UnLock();
|
||||||
|
}
|
||||||
result = chat_queue;
|
var result = {hasChatOnline: 0};
|
||||||
|
for (var ch in chat_queue.accepting)
|
||||||
|
{
|
||||||
|
result.hasChatOnline++;
|
||||||
|
}
|
||||||
|
|
||||||
Response.Write(JSON.stringify(result));
|
Response.Write(JSON.stringify(result));
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ Application.UnLock();
|
|||||||
FcltMgr.startEdit(window); // maakt hem hot
|
FcltMgr.startEdit(window); // maakt hem hot
|
||||||
var acceptchannelId = "<%=acceptchannelId%>";
|
var acceptchannelId = "<%=acceptchannelId%>";
|
||||||
var dis_key = <%=dis_key%>;
|
var dis_key = <%=dis_key%>;
|
||||||
|
|
||||||
function accept_chat(x, y)
|
function accept_chat(x, y)
|
||||||
{
|
{
|
||||||
var wantId = $(this).data("wantid");
|
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));
|
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
|
view_queue(); // op de achtergrond blijven refreshen
|
||||||
}
|
}
|
||||||
|
|
||||||
async function show_queue(data)
|
async function show_queue(data)
|
||||||
{
|
{
|
||||||
//$("#chatqueue").html("<xmp>" + JSON.stringify(data, null, 4) + "</xmp>");
|
//$("#chatqueue").html("<xmp>" + JSON.stringify(data, null, 4) + "</xmp>");
|
||||||
@@ -111,11 +113,19 @@ Application.UnLock();
|
|||||||
FcltMgr.resized();
|
FcltMgr.resized();
|
||||||
notify.wait(window.acceptchannelId, null, view_queue, { alwaysafter: 10 });
|
notify.wait(window.acceptchannelId, null, view_queue, { alwaysafter: 10 });
|
||||||
}
|
}
|
||||||
window.onbeforeunload = function()
|
|
||||||
{ // Bij sluiten van tabblad de id opruimen.
|
function onCloseHot()
|
||||||
$.post( "./ChatterClose.asp?channelId=<%=acceptchannelId%>");
|
{
|
||||||
return true;
|
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()
|
function view_queue()
|
||||||
{
|
{
|
||||||
$.getJSON( "./ChatQueueGet.asp" + (dis_key > 0 ? "?dis_key=" + dis_key : ""), show_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?
|
// TODO: als er geen chat_queue.accepting zijn dat direct melden?
|
||||||
Application.Lock();
|
Application.Lock();
|
||||||
var chat_queue = JSON.parse(Application(chat_queue_name) || "{}");
|
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();
|
Application.UnLock();
|
||||||
%>
|
%>
|
||||||
<html>
|
<html>
|
||||||
@@ -46,7 +37,7 @@ Application.UnLock();
|
|||||||
FcltMgr.startEdit(window); // maakt hem hot
|
FcltMgr.startEdit(window); // maakt hem hot
|
||||||
}
|
}
|
||||||
|
|
||||||
var hasChatOnline = <%=hasChatOnline%>;
|
var hasChatOnline = 0;
|
||||||
var wantchannelId = "<%=wantchannelId%>";
|
var wantchannelId = "<%=wantchannelId%>";
|
||||||
var startMessage;
|
var startMessage;
|
||||||
var timerId;
|
var timerId;
|
||||||
@@ -124,17 +115,13 @@ Application.UnLock();
|
|||||||
Response.Write("\nnotify.signal('{0}');".format(acceptchannelId));
|
Response.Write("\nnotify.signal('{0}');".format(acceptchannelId));
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
function sendQueueAlive()
|
function sendQueueAlive(init)
|
||||||
{
|
{
|
||||||
$.getJSON( "ChatQueueAlive.asp?channelId=" + wantchannelId
|
$.getJSON( "ChatQueueAlive.asp?channelId=" + wantchannelId
|
||||||
, function(data)
|
, function(data)
|
||||||
{ // Kijk opnieuw of er nog medewerkers aanwezig zijn om de chat te beantwoorden.
|
{ // Kijk opnieuw of er nog medewerkers aanwezig zijn om de chat te beantwoorden.
|
||||||
hasChatOnline = 0;
|
hasChatOnline = data.hasChatOnline;
|
||||||
for (var ch in data.accepting)
|
handleChatOnline(init);
|
||||||
{
|
|
||||||
hasChatOnline++;
|
|
||||||
}
|
|
||||||
handleChatOnline();
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -180,7 +167,7 @@ Application.UnLock();
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
handleChatOnline(true);
|
sendQueueAlive(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user