Message template instantiation

This commit is contained in:
SillyLossy
2023-03-18 12:43:49 +02:00
parent 1f959a0e82
commit d78bd26977
3 changed files with 33 additions and 28 deletions

View File

@@ -818,6 +818,25 @@
<div class="typing_indicator"><span class="typing_indicator_name">CHAR</span> is typing</div>
</div>
<div id="message_template">
<div class="mes" mesid="${count_view_mes}" ch_name="${characterName}" is_user="${mes.is_user}">
<div class="for_checkbox"></div><input type="checkbox" class="del_checkbox">
<div class="avatar"><img src="${avatarImg}"></div>
<div class="swipe_left"><img src="img/swipe_left.png"></div>
<div class="mes_block">
<div class="ch_name">
<span class="name_text">${characterName}</span>
<div title=Edit class=mes_edit></div>
<div class=mes_edit_cancel><img src=img/cancel.png></div>
<div class=mes_edit_done><img src=img/done.png></div>
</div>
<div class=mes_text></div>
</div>
<div class="mes_bias">${bias}</div>
<div class="swipe_right"> <img src="img/swipe_right.png"></div>
</div>
</div>
<div id="group_avatars_template">
<div class="avatar avatar_collage collage_1">
<img alt="img1" class="img_1" src="">

View File

@@ -783,6 +783,15 @@ function messageFormating(mes, ch_name, isSystem, forceAvatar) {
return mes;
}
function getMessageFromTemplate(mesId, characterName, isUser, avatarImg, bias) {
const mes = $('#message_template .mes').clone();
mes.attr({ 'mesid': mesId, 'ch_name': characterName, 'is_user': isUser });
mes.find('.avatar img').attr('src', avatarImg);
mes.find('.ch_name .name_text').text(characterName);
mes.find('.mes_bias').html(bias);
return mes;
}
function appendImageToMessage(mes, messageElement) {
if (mes.extra?.image) {
const image = document.createElement("img");
@@ -829,34 +838,7 @@ function addOneMessage(mes, type = "normal") {
);
const bias = messageFormating(mes.extra?.bias ?? "");
var HTMLForEachMes =
'<div class="mes" mesid="' + count_view_mes + '" ch_name="' + characterName + '" is_user="' + mes["is_user"] + '">' +
'<div class="for_checkbox"></div>' +
'<input type="checkbox" class="del_checkbox">' +
'<div class="avatar">' +
'<img src="' + avatarImg + '">' +
'</div>' +
'<div class="swipe_left">' +
'<img src="img/swipe_left.png">' +
'</div>' +
'<div class="mes_block">' +
'<div class="ch_name">' +
characterName +
'<div title=Edit class=mes_edit></div>' +
'<div class=mes_edit_cancel>' +
'<img src=img/cancel.png>' +
'</div>' +
'<div class=mes_edit_done>' +
'<img src=img/done.png>' +
'</div>' +
'</div>' +
'<div class=mes_text></div>' +
'</div>' +
'<div class="mes_bias">' + bias + '</div>' +
'<div class="swipe_right">' +
' <img src="img/swipe_right.png">' +
'</div>' +
'</div>';
var HTMLForEachMes = getMessageFromTemplate(count_view_mes, characterName, mes.is_user, avatarImg, bias);
if (type !== 'swipe') {
$("#chat").append(HTMLForEachMes);

View File

@@ -343,6 +343,10 @@ code {
}
#message_template {
display: none !important;
}
.mes {
display: grid;
grid-template-columns: min-content min-content auto min-content min-content;