:zap: [Enhance] More unified format of chat history item
Browse files- networks/chat_history_storer.js +30 -20
networks/chat_history_storer.js
CHANGED
@@ -6,7 +6,7 @@ class ChatHistoryStorer {
|
|
6 |
init_database() {
|
7 |
this.db = new Dexie("chat_history");
|
8 |
this.db.version(1).stores({
|
9 |
-
chat_history: "index,
|
10 |
});
|
11 |
this.db.chat_history.count((count) => {
|
12 |
console.log(`${count} records loaded from chat_history.`);
|
@@ -17,21 +17,9 @@ class ChatHistoryStorer {
|
|
17 |
this.render_chat_history_sidebar_items();
|
18 |
console.log("chat_history cleared.");
|
19 |
}
|
20 |
-
|
21 |
-
let chat_history_sidebar_items = $("#chat-history-sidebar-items");
|
22 |
-
let chat_history = this.db.chat_history;
|
23 |
-
chat_history_sidebar_items.empty();
|
24 |
-
chat_history.each((chat_history_item) => {
|
25 |
-
let chat_history_item_html = `
|
26 |
-
<li class="nav-item">
|
27 |
-
<a class="nav-link" href="#${chat_history_item.index}">${chat_history_item.display_title}</a>
|
28 |
-
</li>
|
29 |
-
`;
|
30 |
-
chat_history_sidebar_items.append(chat_history_item_html);
|
31 |
-
});
|
32 |
-
}
|
33 |
get_current_datetime_string() {
|
34 |
-
return moment().format("YYYY-MM-
|
35 |
}
|
36 |
get_chat_container_html() {
|
37 |
let messagers_container = $("#messagers-container");
|
@@ -42,28 +30,50 @@ class ChatHistoryStorer {
|
|
42 |
}
|
43 |
}
|
44 |
create_chat_index() {
|
45 |
-
let
|
46 |
-
let chat_index = `chat_${
|
47 |
return chat_index;
|
48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
save_current_chat_session() {
|
50 |
let chat_container_html = this.get_chat_container_html();
|
51 |
-
let messagers_container = $("#messagers-container");
|
52 |
if (chat_container_html === null) {
|
53 |
console.log("Empty messagers_container, no chat session to save.");
|
54 |
return;
|
55 |
} else {
|
56 |
let chat_index = this.create_chat_index();
|
|
|
57 |
let chat_saved_datetime = this.get_current_datetime_string();
|
58 |
this.db.chat_history.put({
|
59 |
index: chat_index,
|
60 |
-
|
61 |
html: chat_container_html,
|
62 |
saved_datetime: chat_saved_datetime,
|
63 |
});
|
64 |
this.render_chat_history_sidebar_items();
|
|
|
|
|
|
|
65 |
console.log(
|
66 |
-
`${
|
67 |
);
|
68 |
}
|
69 |
}
|
|
|
6 |
init_database() {
|
7 |
this.db = new Dexie("chat_history");
|
8 |
this.db.version(1).stores({
|
9 |
+
chat_history: "index, title, html, saved_datetime",
|
10 |
});
|
11 |
this.db.chat_history.count((count) => {
|
12 |
console.log(`${count} records loaded from chat_history.`);
|
|
|
17 |
this.render_chat_history_sidebar_items();
|
18 |
console.log("chat_history cleared.");
|
19 |
}
|
20 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
get_current_datetime_string() {
|
22 |
+
return moment().format("YYYY-MM-DD HH:mm:ss.SSS");
|
23 |
}
|
24 |
get_chat_container_html() {
|
25 |
let messagers_container = $("#messagers-container");
|
|
|
30 |
}
|
31 |
}
|
32 |
create_chat_index() {
|
33 |
+
let datetime_string = moment().format("YYYY-MM-DD_HH-mm-ss_SSS");
|
34 |
+
let chat_index = `chat_${datetime_string}`;
|
35 |
return chat_index;
|
36 |
}
|
37 |
+
create_chat_title() {
|
38 |
+
let chat_title = moment().format("YYYY-MM-DD HH:mm:ss");
|
39 |
+
return chat_title;
|
40 |
+
}
|
41 |
+
render_chat_history_sidebar_items() {
|
42 |
+
let chat_history_sidebar_items = $("#chat-history-sidebar-items");
|
43 |
+
let chat_history = this.db.chat_history;
|
44 |
+
chat_history_sidebar_items.empty();
|
45 |
+
chat_history.each((chat_history_item) => {
|
46 |
+
let chat_history_item_html = `
|
47 |
+
<li class="nav-item">
|
48 |
+
<a class="nav-link" href="#${chat_history_item.index}">
|
49 |
+
${chat_history_item.title}
|
50 |
+
</a>
|
51 |
+
</li>
|
52 |
+
`;
|
53 |
+
chat_history_sidebar_items.append(chat_history_item_html);
|
54 |
+
});
|
55 |
+
}
|
56 |
save_current_chat_session() {
|
57 |
let chat_container_html = this.get_chat_container_html();
|
|
|
58 |
if (chat_container_html === null) {
|
59 |
console.log("Empty messagers_container, no chat session to save.");
|
60 |
return;
|
61 |
} else {
|
62 |
let chat_index = this.create_chat_index();
|
63 |
+
let chat_title = this.create_chat_title();
|
64 |
let chat_saved_datetime = this.get_current_datetime_string();
|
65 |
this.db.chat_history.put({
|
66 |
index: chat_index,
|
67 |
+
title: chat_title,
|
68 |
html: chat_container_html,
|
69 |
saved_datetime: chat_saved_datetime,
|
70 |
});
|
71 |
this.render_chat_history_sidebar_items();
|
72 |
+
|
73 |
+
let messagers_container = $("#messagers-container");
|
74 |
+
let messages_count = messagers_container.children().length;
|
75 |
console.log(
|
76 |
+
`${messages_count} messages saved at ${chat_saved_datetime}.`
|
77 |
);
|
78 |
}
|
79 |
}
|