You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
683 lines
30 KiB
683 lines
30 KiB
|
|
function csrfSafeMethod(method) {
|
|
// these HTTP methods do not require CSRF protection
|
|
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
|
|
}
|
|
|
|
var SocketHandler = function () {
|
|
var userId = {{ request.user.pk }};
|
|
var url = 'ws://127.0.0.1:8888/chat/' + userId + '/';
|
|
var sock = new WebSocket(url);
|
|
var intervalId;
|
|
sock.onopen = function () {
|
|
console.log("Start connect");
|
|
intervalId = setInterval(function () {
|
|
sock.send('{"dummy": 1}');
|
|
}, 150000);
|
|
};
|
|
sock.onmessage = function (event) {
|
|
console.log(event.data);
|
|
var message = JSON.parse(event.data);
|
|
var inbox;
|
|
|
|
if (message.answer_type == 'contact' || message.answer_type == 'add_message_contact') {
|
|
inbox = document.getElementById('message-chat-space');
|
|
} else if (message.answer_type == 'order' || message.answer_type == 'add_message_order') {
|
|
inbox = document.getElementById('message-chat-order-space');
|
|
} else if(message.answer_type == 'add_message_team'){
|
|
inbox = document.getElementById('message-chat-team-space');
|
|
}
|
|
console.log(message.answer_type);
|
|
console.log(message.msg);
|
|
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">ВЫ</p> <span>13.0.2016</span></div>' +
|
|
'<p class="textCommChat">' + message.msg + '</p></div>';
|
|
};
|
|
|
|
this.send_contact_message = function (userId) {
|
|
var data = {
|
|
"format_type": "add_message",
|
|
"user_id": userId
|
|
}
|
|
sock.send(JSON.stringify(data));
|
|
console.log(data);
|
|
};
|
|
|
|
this.add_team_message = function(messageData){
|
|
|
|
console.log(messageData);
|
|
sock.send(JSON.stringify(messageData));
|
|
}
|
|
|
|
this.add_contact_message = function (messageData) {
|
|
console.log(messageData);
|
|
sock.send(JSON.stringify(messageData));
|
|
};
|
|
|
|
this.send_message = function (form) {
|
|
var elements = form.elements;
|
|
var data = {};
|
|
var i = 0;
|
|
for (var i; i < elements.length; i++) {
|
|
if (elements[i].name == 'message') {
|
|
data[elements[i].name] = elements[i].value;
|
|
}
|
|
}
|
|
sock.send(JSON.stringify(data));
|
|
var textareaMessage = document.getElementById("message");
|
|
textareaMessage.value = "";
|
|
}
|
|
|
|
}
|
|
|
|
$(function () {
|
|
var currentChatUser = {{ request.user.pk }};
|
|
var socket = new SocketHandler();
|
|
var form = document.getElementById('message_form');
|
|
var csrftoken = getCookie('csrftoken');
|
|
|
|
setTimeout(function(){
|
|
$(".user-block").first().trigger('click');
|
|
}, 10);
|
|
|
|
setTimeout(function(){
|
|
$(".order-block").first().trigger('click');
|
|
}, 100);
|
|
|
|
setTimeout(function(){
|
|
$(".team-order-block").first().trigger('click');
|
|
}, 1000);
|
|
|
|
|
|
var url = '/work_sell/basic/';
|
|
$('#upload-document-team').fileupload({
|
|
url: url,
|
|
crossDomain: false,
|
|
beforeSend: function (xhr, settings) {
|
|
$('#progress .progress-bar').css(
|
|
'width',
|
|
'0%'
|
|
);
|
|
if (!csrfSafeMethod(settings.type)) {
|
|
xhr.setRequestHeader("X-CSRFToken", csrftoken);
|
|
}
|
|
},
|
|
dataType: 'json',
|
|
done: function (e, data) {;
|
|
$.each(data.result.files, function (index, file) {
|
|
var currentValue = $("#documentSendIds").val();
|
|
currentValue += file.id + ';';
|
|
$("#documentSendIds").val(currentValue);
|
|
var htmlImg = '<p>'+ file.name+'</p>';
|
|
var document_send = $(htmlImg).appendTo("#document-send");
|
|
});
|
|
},
|
|
progressall: function (e, data) {
|
|
var progress = parseInt(data.loaded / data.total * 100, 10);
|
|
$('#progress .progress-bar').css(
|
|
'width',
|
|
progress + '%'
|
|
);
|
|
}
|
|
}).prop('disabled', !$.support.fileInput)
|
|
.parent().addClass($.support.fileInput ? undefined : 'disabled');
|
|
|
|
|
|
$("#approve-stages").on('click', function(){
|
|
$(".stage-block-approve").each(function(){
|
|
var stageId = $(this).attr('data-id');
|
|
});
|
|
});
|
|
|
|
$(".team-chat-user").on('click',function(e){
|
|
e.stopPropagation();
|
|
var recipentId = $(this).attr('data-id');
|
|
$("#team-chat-form #recipentId").val(recipentId);
|
|
});
|
|
|
|
$(".team-order-block").on('click', function(){
|
|
|
|
$('.team-order-block').each(function () {
|
|
$(this).removeClass('orAct');
|
|
});
|
|
$(this).addClass('orAct');
|
|
|
|
var teamId = $(this).attr('data-team-id');
|
|
var orderId = $(this).attr('data-order-id');
|
|
$("#team-chat-form #teamId").val(teamId);
|
|
$("#team-chat-form #orderId").val(orderId);
|
|
|
|
var inbox = document.getElementById('message-chat-team-space');
|
|
inbox.innerHTML = '';
|
|
|
|
$.ajax({
|
|
url: '/api/message',
|
|
type: 'GET',
|
|
data: {csrfmiddlewaretoken: csrftoken, 'team': teamId,'order': orderId},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
$.each(json.results, function (i, v) {
|
|
var senderName = 'Вы';
|
|
var className = 'youChat';
|
|
if (v.sender.id !== currentChatUser) {
|
|
senderName = v.sender.username;
|
|
className = '';
|
|
}
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">' + senderName + '</p> <span>' + v.created + '</span></div>' +
|
|
'<p class="textCommChat">' + v.text + '</p></div>';
|
|
});
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
// Вытащить сообщения для чата заказа
|
|
$('.order-block').on('click', function () {
|
|
$('.order-block').each(function () {
|
|
$(this).removeClass('orAct');
|
|
});
|
|
$(this).addClass('orAct');
|
|
|
|
var orderId = $(this).attr('data-id');
|
|
var recipentId = $(this).attr('data-recipent-id');
|
|
$("#chat-contractor-order #orderId").val(orderId);
|
|
$("#add-form-order-note #orderNote").val(orderId);
|
|
|
|
$("#chat-contractor-order #recipentOrderId").val(recipentId);
|
|
$("#add-form-order-note #recipentNote").val(recipentId);
|
|
|
|
var inbox = document.getElementById('message-chat-order-space');
|
|
inbox.innerHTML = '';
|
|
|
|
$.ajax({
|
|
url: '/api/message',
|
|
type: 'GET',
|
|
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
$.each(json.results, function (i, v) {
|
|
var senderName = 'Вы';
|
|
var className = 'youChat';
|
|
if (v.sender.id !== currentChatUser) {
|
|
senderName = v.sender.username;
|
|
className = '';
|
|
}
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">' + senderName + '</p> <span>' + v.created + '</span></div>' +
|
|
'<p class="textCommChat">' + v.text + '</p></div>';
|
|
});
|
|
}
|
|
});
|
|
|
|
$.ajax({
|
|
url: '/api/note/',
|
|
type: 'GET',
|
|
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
console.log(json.results);
|
|
var noteHtmlInbox = '';
|
|
$.each(json.results, function (i, v) {
|
|
noteHtmlInbox += '<li>'+ v.text +'<li>';
|
|
|
|
});
|
|
$(".notes-block").html(noteHtmlInbox);
|
|
}
|
|
});
|
|
|
|
$.ajax({
|
|
url: '/api/stages/',
|
|
type: 'GET',
|
|
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
console.log(json.results);
|
|
var htmlInbox = "";
|
|
var stagesReservedHtml = "";
|
|
if (json.results.length > 0) {
|
|
|
|
$.each(json.results, function (i, v) {
|
|
if(v.is_paid){
|
|
stagesReservedHtml += '<li class="reserved">Сумма за этап '+ i +'.Зарезервирована.</li>';
|
|
}else{
|
|
stagesReservedHtml += '<li class="unreserved">Сумма за этап '+ i +'.Не зарезервирована.</li>';
|
|
}
|
|
htmlInbox += '<div data-id="' + v.id + '" class="numberStepp box-sizing stage-block-approve"><div class="insetNumStepp">' +
|
|
'<p class="titleNumStepp"><span>Этап ' + v.pos + '</span>' + v.name + '</p>' +
|
|
'<p class="textNumStepp">Результаты этапа:' + v.result + '</p><div>' +
|
|
'<p>'+ v.status+'</p><span>' + v.cost + '<i class="fa fa-rub"></i></span></div></div></div>';
|
|
});
|
|
htmlInbox += '<div class="textAreaBlock2 FFD box-sizing disTab"><a id="approve-stages" href="javascript:void()">согласовать</a></div>';
|
|
|
|
}
|
|
$("#order-stages").html(htmlInbox);
|
|
$(".stages-paid").html(stagesReservedHtml);
|
|
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
$('#add-note-button').on('click', function(){
|
|
$.ajax({
|
|
url: '/api/note/',
|
|
type: 'POST',
|
|
beforeSend: function (xhr) {
|
|
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'))
|
|
},
|
|
data:$("#add-form-order-note").serialize(),
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
console.log(json);
|
|
$("#add-form-order-note #chat2").val("");
|
|
|
|
},
|
|
error: function(e){
|
|
console.log('error');
|
|
console.log(e);
|
|
}
|
|
});
|
|
});
|
|
|
|
// Вытащить сообщения для конактов
|
|
$('.user-block').on('click', function () {
|
|
var userId = $(this).attr('data-id');
|
|
$("#contact-chat-form #recipentId").val(userId);
|
|
var inbox = document.getElementById('message-chat-space');
|
|
inbox.innerHTML = '';
|
|
$.ajax({
|
|
url: '/api/message',
|
|
type: 'GET',
|
|
data: {
|
|
csrfmiddlewaretoken: csrftoken,
|
|
'operand': 'in',
|
|
'sender_id': currentChatUser,
|
|
'recipent_id': userId
|
|
},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
$.each(json.results, function (i, v) {
|
|
console.log(v.sender.id);
|
|
var senderName = 'Вы';
|
|
var className = 'youChat';
|
|
if (v.sender.id == userId) {
|
|
senderName = v.sender.username;
|
|
className = '';
|
|
}
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat ' + className + '"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">' + senderName + '</p> <span>' + v.created + '</span></div>' +
|
|
'<p class="textCommChat">' + v.text + '</p></div>';
|
|
});
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
//Добавить сообщение для исполнителей в группе
|
|
$("#add-team-chat-message").on('click', function(){
|
|
var chatMessage = $("#team-chat-form #chatText").val();
|
|
var recipentId = $("#team-chat-form #recipentId").val();
|
|
var senderId = $("#team-chat-form #senderId").val();
|
|
var teamId = $("#team-chat-form #teamId").val();
|
|
var orderId = $("#team-chat-form #orderId").val();
|
|
|
|
var documentSendIds = $("#documentSendIds").val();
|
|
console.log(documentSendIds);
|
|
var teamDocumentIds = documentSendIds.split(';');
|
|
teamDocumentIds.pop();
|
|
console.log(teamDocumentIds);
|
|
socket.add_team_message({
|
|
"format_type": "add_message_team",
|
|
"data": {
|
|
"sender_id": senderId,
|
|
"recipent_id": recipentId,
|
|
"chat_message": chatMessage,
|
|
"team_id": teamId,
|
|
"order_id": orderId,
|
|
}
|
|
});
|
|
|
|
|
|
|
|
$("#team-chat-form #chatText").val("");
|
|
});
|
|
|
|
// Добавить сообщение для контакта
|
|
$('#contact-chat-add-message').on('click', function () {
|
|
var chatMessage = $("#chat").val();
|
|
var recipentId = $("#recipentId").val();
|
|
var senderId = $("#senderId").val();
|
|
|
|
socket.add_contact_message({
|
|
"format_type": "add_message_contact",
|
|
"data": {
|
|
"sender_id": senderId,
|
|
"recipent_id": recipentId,
|
|
"chat_message": chatMessage,
|
|
}
|
|
});
|
|
|
|
var inbox = $('#message-chat-space').html();
|
|
$('#message-chat-space').html(inbox + '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">Вы</p> <span>Сейчас</span></div>' +
|
|
'<p class="textCommChat">' + chatMessage + '</p></div>');
|
|
|
|
$("#chat").val("");
|
|
});
|
|
|
|
$('#order-chat-add-message').on('click', function () {
|
|
var chatMessage = $("#chat-contractor-order #chat").val();
|
|
var recipentId = $("#chat-contractor-order #recipentOrderId").val();
|
|
var senderId = $("#chat-contractor-order #senderOrderId").val();
|
|
var orderId = $("#chat-contractor-order #orderId").val();
|
|
|
|
socket.add_contact_message({
|
|
"format_type": "add_message_order",
|
|
"data": {
|
|
"sender_id": senderId,
|
|
"recipent_id": recipentId,
|
|
"chat_message": chatMessage,
|
|
"order_id": orderId,
|
|
|
|
}
|
|
});
|
|
|
|
$("#chat-contractor-order #chat").val("");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
$(function () {
|
|
var currentChatUser = {{ request.user.pk }};
|
|
var socket = new SocketHandler();
|
|
var form = document.getElementById('message_form');
|
|
var csrftoken = getCookie('csrftoken');
|
|
setTimeout(function(){
|
|
$(".user-block").first().trigger('click');
|
|
}, 10);
|
|
|
|
setTimeout(function(){
|
|
$(".order-block").first().trigger('click');
|
|
}, 100);
|
|
|
|
$("#order-stages").on('click', "#addStagesForm", function(){
|
|
$(".new-stages-form").each(function(i,v){
|
|
console.log($(this).serialize());
|
|
alert($(this).serialize());
|
|
|
|
$.ajax({
|
|
url: '/api/stages/',
|
|
type: 'POST',
|
|
beforeSend: function (xhr) {
|
|
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'))
|
|
},
|
|
data:$(this).serialize(),
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
console.log(json);
|
|
},
|
|
error: function(e){
|
|
console.log('error');
|
|
console.log(e);
|
|
}
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
$('#order-stages-tab').on('change', '#countStage', function(){
|
|
var countStage = parseInt($(this).val());
|
|
var updateFormStages = $(".update-stages-form");
|
|
|
|
alert(updateFormStages.length);
|
|
alert(typeof updateFormStages.length);
|
|
var limitCount = countStage + 1;
|
|
for (var i = 2; i < limitCount; i++) {
|
|
var stageCopy = $("#stage1").clone().attr("id", "stage" + i).addClass("stages_form");
|
|
$("#stage1").after(stageCopy);
|
|
}
|
|
});
|
|
|
|
$('.order-block').on('click', function () {
|
|
$("#chat-order-add").css("display", "block");
|
|
$("#formsetStage").css("display","block");
|
|
|
|
$('.order-block').each(function () {
|
|
$(this).removeClass('orAct');
|
|
});
|
|
|
|
$(this).addClass('orAct');
|
|
var orderId = $(this).attr('data-id');
|
|
var recipentId = $(this).attr('data-recipent-id');
|
|
$("#chat-order-add #orderId").val(orderId);
|
|
$("#chat-order-add #recipentId").val(recipentId);
|
|
$(".orderStagesInput").val(orderId);
|
|
var inbox = document.getElementById('message-chat-order-space');
|
|
inbox.innerHTML = '';
|
|
$.ajax({
|
|
url: '/api/message',
|
|
type: 'GET',
|
|
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
$.each(json.results, function (i, v) {
|
|
var senderName = 'Вы';
|
|
var className = 'youChat';
|
|
|
|
if (v.sender.id !== currentChatUser) {
|
|
senderName = v.sender.username;
|
|
className = '';
|
|
}
|
|
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat ' + className + '"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">' + senderName + '</p><span>' + v.created + '</span></div>' +
|
|
'<p class="textCommChat">' + v.text + '</p></div>';
|
|
});
|
|
}
|
|
});
|
|
|
|
$.ajax({
|
|
url: '/api/stages/',
|
|
type: 'GET',
|
|
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
var stageCount = json.results.length;
|
|
if (stageCount == 0){
|
|
stageCountVal = 1;
|
|
}else{
|
|
stageCountVal = stageCount;
|
|
}
|
|
|
|
var htmlInbox = "";
|
|
|
|
var htmlInboxStage = '<p class="textStepss">Какое кол-во этапов подразумевает работа? ' +
|
|
'<input type="text" id="countStage" value="'+ stageCountVal +'"size="3"/></p>';
|
|
|
|
if (stageCount == 0){
|
|
htmlInboxStage += '<div class="numberStepp box-sizing" id="stage1">' +
|
|
'<p>Этап <span class="stage-span-id">1</span></p><form class="new-stages-form" id="stage-form">' +
|
|
'<label for="">Название</label><input class="form-control" name="name" type="text" />' +
|
|
'<label for="">Цена</label><input class="form-control" name="cost" type="text" />' +
|
|
'<input class="form-control" name="order" type="text" value="'+ orderId +'" class="orderStagesInput"/> />' +
|
|
'<label for="">Срок</label><input class="form-control" name="term" type="text" />' +
|
|
'<label for="">Результат</label><input class="form-control" name="result" type="text" />' +
|
|
'</form></div>';
|
|
}
|
|
var statusNotAgreed = true;
|
|
$.each(json.results, function (i, v) {
|
|
if (v.status == "not_agreed") {
|
|
htmlInbox += '<div class="numberStepp box-sizing">' +
|
|
'<p>Этап</p><form class="update-stages-form" id="stage-form-'+ v.pos +'">' +
|
|
'<label for="">Название</label><input class="form-control" type="text" value="'+ v.name +'" />' +
|
|
'<label for="">Цена</label><input class="form-control" type="text" value="'+ v.cost +'" />' +
|
|
'<input class="form-control" type="hidden" value="'+ v.order +'" />' +
|
|
'<label for="">Срок</label><input class="form-control" type="text" value="'+ v.term +'" />' +
|
|
'<label for="">Результат</label><input class="form-control" type="text" value="'+ v.result +'" />' +
|
|
'</form></div>';
|
|
} else {
|
|
statusNotAgreed = false;
|
|
htmlInboxStage = "";
|
|
htmlInbox += '<div class="numberStepp box-sizing"><div class="insetNumStepp">' +
|
|
'<p class="titleNumStepp"><span>Этап ' + v.pos + '</span>' + v.name + '</p>' +
|
|
'<p class="textNumStepp">Результаты этапа:' + v.result + '</p><div>' +
|
|
'<p>до 16.03.2015</p><span>' + v.cost + '<i class="fa fa-rub"></i></span></div></div></div>';
|
|
|
|
}
|
|
});
|
|
|
|
if (statusNotAgreed) {
|
|
htmlInbox += '<div class="box-sizing disTab" style="text-align:center;"><div class="checkbox"><input type="checkbox" style="opacity:1">Перейти в режим безопасной сделки' +
|
|
'</div></div><div class="textAreaBlock2 box-sizing disTab">' +
|
|
'<a href="javascript:void()" id="addStagesForm">отправить на согласование</a> </div>';
|
|
}
|
|
htmlInbox = htmlInboxStage + htmlInbox;
|
|
$("#order-stages").html(htmlInbox);
|
|
}
|
|
});
|
|
|
|
|
|
});
|
|
|
|
// Вытащить сообщения для конактов
|
|
$('.user-block').on('click', function () {
|
|
var userId = $(this).attr('data-id');
|
|
$("#contact-chat-form #recipentId").val(userId);
|
|
var inbox = document.getElementById('message-chat-space');
|
|
inbox.innerHTML = '';
|
|
$.ajax({
|
|
url: '/api/message',
|
|
type: 'GET',
|
|
data: {
|
|
csrfmiddlewaretoken: csrftoken,
|
|
'operand': 'in',
|
|
'sender_id': currentChatUser,
|
|
'recipent_id': userId
|
|
},
|
|
dataType: 'json',
|
|
success: function (json) {
|
|
$.each(json.results, function (i, v) {
|
|
var senderName = 'Вы';
|
|
var className = 'youChat';
|
|
if (v.sender.id == userId) {
|
|
senderName = v.sender.username;
|
|
className = '';
|
|
}
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat ' + className + '"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">' + senderName + '</p> <span>' + v.created + '</span></div>' +
|
|
'<p class="textCommChat">' + v.text + '</p></div>';
|
|
});
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
$('#contact-chat-add-message').on('click', function () {
|
|
var chatMessage = $("#chat").val();
|
|
var recipentId = $("#recipentId").val();
|
|
var senderId = $("#senderId").val();
|
|
|
|
socket.add_contact_message({
|
|
"format_type": "add_message_contact",
|
|
"data": {
|
|
"sender_id": senderId,
|
|
"recipent_id": recipentId,
|
|
"chat_message": chatMessage,
|
|
}
|
|
});
|
|
|
|
$("#chat").val("");
|
|
});
|
|
|
|
$('#order-chat-add-message').on('click', function () {
|
|
var chatMessage = $("#chat-order-add #chat").val();
|
|
var recipentId = $("#chat-order-add #recipentId").val();
|
|
var senderId = $("#chat-order-add #senderId").val();
|
|
var orderId = $("#chat-order-add #orderId").val();
|
|
|
|
socket.add_contact_message({
|
|
"format_type": "add_message_order",
|
|
"data": {
|
|
"sender_id": senderId,
|
|
"recipent_id": recipentId,
|
|
"chat_message": chatMessage,
|
|
"order_id": orderId,
|
|
|
|
}
|
|
});
|
|
|
|
$("#chat-order-add #chat").val("");
|
|
});
|
|
|
|
});
|
|
|
|
var userId = '{{ request.user.pk }}';
|
|
|
|
var SocketHandler = function () {
|
|
var url = 'ws://127.0.0.1:8888/chat/' + userId + '/';
|
|
var sock = new WebSocket(url);
|
|
var intervalId;
|
|
sock.onopen = function () {
|
|
console.log("Start connect");
|
|
intervalId = setInterval(function () {
|
|
sock.send('{"dummy": 1}');
|
|
}, 150);
|
|
};
|
|
sock.onmessage = function (event) {
|
|
console.log(event.data);
|
|
var message = JSON.parse(event.data);
|
|
var inbox;
|
|
if (message.answer_type == 'contact') {
|
|
inbox = document.getElementById('message-chat-space');
|
|
} else if (message.answer_type == 'order' || message.answer_type == 'add_order') {
|
|
inbox = document.getElementById('message-chat-order-space')
|
|
}
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' +
|
|
'<p class="nameCommChat">Иванов</p> <span>13.0.2016</span></div>' +
|
|
'<p class="textCommChat">' + message.msg + '</p></div>';
|
|
|
|
};
|
|
|
|
this.send_order_message = function (orderId) {
|
|
var data = {
|
|
"format_type": "order_message",
|
|
"order_id": orderId
|
|
}
|
|
sock.send(JSON.stringify(data));
|
|
console.log(data);
|
|
};
|
|
|
|
this.send_contact_message = function (userId) {
|
|
var data = {
|
|
"format_type": "add_message",
|
|
"user_id": userId
|
|
}
|
|
sock.send(JSON.stringify(data));
|
|
console.log(data);
|
|
};
|
|
|
|
this.add_contact_message = function (messageData) {
|
|
console.log(messageData);
|
|
sock.send(JSON.stringify(messageData));
|
|
};
|
|
|
|
this.send_message = function (form) {
|
|
var elements = form.elements;
|
|
var data = {};
|
|
var i = 0;
|
|
for (var i; i < elements.length; i++) {
|
|
if (elements[i].name == 'message') {
|
|
data[elements[i].name] = elements[i].value;
|
|
}
|
|
}
|
|
sock.send(JSON.stringify(data));
|
|
var textareaMessage = document.getElementById("message");
|
|
textareaMessage.value = "";
|
|
|
|
}
|
|
}
|
|
|
|
|