-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpopup.js
110 lines (84 loc) · 2.95 KB
/
popup.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
$(function() {
var INDEX = 0;
$("#chat-submit").click(function(e) {
e.preventDefault();
// get user message
var msg = $("#chat-input").val();
if (msg.trim() == ''){
return false;
}
generate_message(msg, 'self');
var buttons = [
{
name: 'Existing User',
value: 'existing'
},
{
name: 'New User',
value: 'new'
}
];
// timer for human like response
setTimeout(function() {
generate_message(msg, 'user');
}, 1000)
})
// Add new lines every 26 characters for text box
function addNewlines(str) {
var result = '';
while (str.length > 0) {
result += str.substring(0, 26) + '\n';
str = str.substring(26);
}
return result;
}
// get message from user and send bot response
function generate_message(msg, type) {
INDEX++;
var str="";
str += "<div id='cm-msg-"+INDEX+"' class=\"chat-msg "+type+"\">";
str += " <span class=\"msg-avatar\">";
// User
if (type == "self") {
str += " <img src=\"img\/avatar.png\">";
str += " <\/span>";
str += " <div class=\"cm-msg-text\">";
str += addNewlines(msg);
}
// Bot
else {
str += " <img src=\"img\/doctolib.png\">";
str += " <\/span>";
str += " <div class=\"cm-msg-text\">";
response = keyword_to_response(msg);
img_path = "img/" + response.get_pictogram();
if (response.get_text())
str += "<img width=60 height=60 src=\"img\/" + response.get_pictogram() + "\">" + "";
str += addNewlines(response.get_text());
if (response.get_link())
str += "<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"" + addNewlines(response.get_link()) + "\">" + addNewlines(response.get_link()) + "";
}
str += " <\/div>";
str += " <\/div>";
$(".chat-logs").append(str);
$("#cm-msg-" + INDEX).hide().fadeIn(300);
if(type == 'self'){
$("#chat-input").val('');
}
$(".chat-logs").stop().animate({ scrollTop: $(".chat-logs")[0].scrollHeight}, 1000);
}
$(document).delegate(".chat-btn", "click", function() {
var value = $(this).attr("chat-value");
var name = $(this).html();
$("#chat-input").attr("disabled", false);
generate_message(name, 'self');
})
$("#chat-circle").click(function() {
$("#chat-circle").toggle('scale');
$(".chat-box").toggle('scale');
})
$(".chat-box-toggle").click(function() {
$("#chat-circle").toggle('scale');
$(".chat-box").toggle('scale');
})
})