var _display = "";
var _mode = "read";
var _word = "";
var _channal = "";
var _lang = "";
var _author = "";
var _arrData = new Array();
var _channalData;
var MAX_NOTE_NEST = 2;
var gBuildinDictIsOpen = false;
/*
{{203-1654-23-45@11@en@*}}
203-1654-23-45@11@en@*
pali text
*/
/*
解析百科字符串
{{203-1654-23-45@11@en@*}}
*/
function note_create() {
wbw_channal_list_init();
note_sent_edit_dlg_init();
term_edit_dlg_init();
pali_sim_dlg_init();
related_para_dlg_init();
}
function note_sent_edit_dlg_init() {
$("body").append(
'
'
);
guide_init();
$("#note_sent_edit_dlg").dialog({
autoOpen: false,
width: 550,
buttons: [
{
text: gLocal.gui.save,
click: function () {
note_sent_save();
$(this).dialog("close");
},
},
{
text: gLocal.gui.cancel,
click: function () {
$(this).dialog("close");
},
},
],
});
}
function note_init(input) {
if (input) {
let output = "
";
output += marked(input);
output += "
";
let newString = output.replace(/\{\{/g, '');
return newString;
} else {
return "";
}
}
function note_update_background_style() {
var mSentsBook = new Array();
var mBgIndex = 1;
$("note[info]").each(function () {
let info = $(this).attr("info").split("-");
if (info.length >= 2) {
let book = info[0];
$(this).attr("book", book);
if (!mSentsBook[book]) {
mSentsBook[book] = mBgIndex;
mBgIndex++;
}
$(this).addClass("bg_color_" + mSentsBook[book]);
}
});
}
//
function note_refresh_new() {
note_update_background_style();
let objNotes = document.querySelectorAll("note");
let arrSentInfo = new Array();
for (const iterator of objNotes) {
let id = iterator.id;
if (id == null || id == "") {
//查看这个节点是第几层note嵌套。大于预定层数退出。
let layout = 1;
let parent = iterator.parentNode;
while (parent.nodeType == 1) {
if (parent.nodeName == "NOTE") {
layout++;
if (layout > MAX_NOTE_NEST) {
return false;
}
} else if (parent.nodeName == "BODY") {
break;
}
parent = parent.parentNode;
}
id = com_guid();
iterator.id = id;
if (iterator.hasAttribute("info")) {
let info = iterator.getAttribute("info");
if (info != null || info != "") {
/*
let arrInfo = info.split("-");
if (arrInfo.length >= 2) {
let book = arrInfo[0];
let para = arrInfo[1];
}
*/
arrSentInfo.push({ id: id, data: info });
}
}
}
}
if (arrSentInfo.length > 0) {
let setting = new Object();
setting.lang = "";
setting.channal = _channal;
$.post(
"../term/note.php",
{
setting: JSON.stringify(setting),
data: JSON.stringify(arrSentInfo),
},
function (data, status) {
if (status == "success") {
try {
let sentData = JSON.parse(data);
for (const iterator of sentData) {
let id = iterator.id;
let strHtml = "";
if (_mode && _mode == "read") {
//阅读模式
strHtml += render_read_mode_sent(iterator);
$("#" + id).html(strHtml);
} else {
//编辑模式
strHtml += note_json_html(iterator);
$("#" + id).html(strHtml);
}
}
//处理标签作为气泡注释
popup_init();
//刷新句子链接递归,有加层数限制。
//note_refresh_new();
//将新的数据添加到数据总表
_arrData = _arrData.concat(sentData);
note_ref_init();
//获取术语字典
term_get_dict();
//刷新channel列表
note_channal_list();
//显示不同的巴利语脚本
refresh_pali_script();
//把巴利语单词用分隔用于点词查询等
splite_pali_word();
//处理编辑框消息
tran_sent_textarea_event_init();
} catch (e) {
console.error(e);
}
}
}
);
} else {
//term_get_dict();
}
}
//渲染阅读模式句子
function render_read_mode_sent(iterator) {
let id = iterator.id;
let strPalitext =
"" +
iterator.palitext +
"";
if (
$("#" + id)
.parent()
.parent()
.children(".para_div").length == 0
) {
let tranDivHtml = "";
if (_channal != "") {
let arrChannal = _channal.split(",");
for (let index = arrChannal.length - 1; index >= 0; index--) {
const iChannal = arrChannal[index];
tranDivHtml += "";
}
} else {
tranDivHtml = "";
}
$("#" + id)
.parent()
.parent()
.prepend(
"
';
if (iterator.id != "") {
html += '' + iterator.editor_name.nickname.slice(0, 1) + "";
}
html += "
";
html +=
'
' +
getDataTime(iterator.update_time) +
"
";
html += "
";
html += '
';
html += '
';
html += '
';
html += ''
if (typeof iterator.channalinfo == "undefined") {
html += "unkown";
} else {
html += iterator.channalinfo.name;
}
html += "";
html += '' + getPassDataTime(iterator.update_time) + "";
html += "
";
//单个channal译文框结束
return output;
}
function add_new_tran_button_click(obj) {
let html = "
"
var first_lang = ""
for (const iterator of _my_channal) {
if(iterator.lang){
first_lang=iterator.lang
break;
}
}
html += "
";
html += '
';
html += first_lang;
html += "
";
for (const iterator of _my_channal) {
if (iterator.status > 0 && first_lang.indexOf(iterator.lang)!=-1 && iterator.lang!=0) {
if (_channal.indexOf(iterator.id) < 0) {
html += '
' + iterator.name;
if (parseInt(iterator.power) < 20) {
html += "(建议)";
}
html += "
";
}
}
}
html += "
";
html+="
";
html += '
';
html += gLocal.gui.other;
html += "
";
for (const iterator of _my_channal) {
if (iterator.status > 0 && first_lang.indexOf(iterator.lang)==-1 && iterator.lang!=0) {
if (_channal.indexOf(iterator.id) < 0) {
html += '
' + iterator.name;
if (parseInt(iterator.power) < 20) {
html += "(建议)";
}
html += "
";
}
}
}
html += "
";
html+="
";
html += '
';
html += gLocal.gui.collaborate;
html += "
";
for (const iterator of _my_channal) {
if (iterator.status > 0 && iterator.lang==0) {
if (_channal.indexOf(iterator.id) < 0) {
html += '
' + iterator.name;
if (parseInt(iterator.power) < 20) {
html += "(建议)";
}
html += "
";
}
}
}
html += "
";
html += "
";
$(obj).parent().children(".tran_text_tool_bar").first().html(html);
if ($(obj).parent().children(".tran_text_tool_bar").css("display") == "block") {
$(obj).parent().children(".tran_text_tool_bar").first().hide();
} else {
$(obj).parent().children(".tran_text_tool_bar").first().show();
$(document).one("click", function () {
$(obj).parent().children(".tran_text_tool_bar").first().hide();
});
event.stopPropagation();
$(obj).parent().show();
}
}
function tool_bar_show(element) {
if ($(element).find(".tran_text_tool_bar").css("display") == "none") {
$(element).find(".tran_text_tool_bar").css("display", "flex");
$(element).find(".icon_expand").css("transform", "rotate(-180deg)");
$(element).css("background-color", "var(--btn-bg-color)");
$(element).css("visibility", "visible");
$(document).one("click", function () {
$(element).find(".tran_text_tool_bar").hide();
$(element).css("background-color", "var(--nocolor)");
$(element).find(".icon_expand").css("transform", "unset");
$(element).css("visibility", "");
});
event.stopPropagation();
} else {
$(element).find(".tran_text_tool_bar").hide();
$(element).css("background-color", "var(--nocolor)");
$(element).find(".icon_expand").css("transform", "unset");
$(element).css("visibility", "");
}
}
function new_sentence(book, para, begin, end, channel, obj) {
let newsent = { id: "", text: "", lang: "", channal: channel };
for (let iterator of _arrData) {
if (iterator.book == book && iterator.para == para && iterator.begin == begin && iterator.end == end) {
let found = false;
for (const tran of iterator.translation) {
if (tran.channal == channel) {
found = true;
break;
}
}
if (!found) {
iterator.translation.push(newsent);
}
}
}
if ($(obj).parent().parent().css("display") == "block") {
$(obj).parent().parent().hide();
}
note_edit_sentence(book, para, begin, end, channel);
}
//显示更多译文按钮动作
function set_more_button_display() {
$(".other_tran_div").each(function () {
const sentid = $(this).attr("sent").split("-");
const book = sentid[0];
const para = sentid[1];
const begin = sentid[2];
const end = sentid[3];
let count = 0;
for (const iterator of _channalData) {
if (iterator.final) {
for (const onesent of iterator.final) {
let id = onesent.id.split("-");
if (book == id[0] && para == id[1] && begin == id[2] && end == id[3] && onesent.final) {
if (_channal.indexOf(iterator.id) == -1) {
count++;
}
}
}
}
}
if (count > 0) {
$(this).find(".other_tran_num").html(count);
$(this).find(".other_tran_num").attr("style", "display:inline-flex;");
$(this)
.find(".other_bar")
.click(function () {
const sentid = $(this).parent().parent().attr("sent").split("-");
const book = sentid[0];
const para = sentid[1];
const begin = sentid[2];
const end = sentid[3];
let sentId = $(this).parent().parent().attr("sent");
if ($(this).parent().parent().siblings(".other_tran").first().css("display") == "none") {
$(".other_tran_div[sent='" + sentId + "']")
.children(".other_tran")
.slideDown();
$(this).siblings(".more_tran ").css("transform", "unset");
$.get(
"../usent/get.php",
{
book: book,
para: para,
begin: begin,
end: end,
},
function (data, status) {
let arrSent = JSON.parse(data);
let html = "
";
for (const iterator of arrSent) {
if (_channal.indexOf(iterator.channal) == -1) {
html += render_one_sent_tran_a(iterator);
}
}
html += "
";
let sentId =
arrSent[0].book +
"-" +
arrSent[0].paragraph +
"-" +
arrSent[0].begin +
"-" +
arrSent[0].end;
$(".other_tran_div[sent='" + sentId + "']")
.children(".other_tran")
.html(html);
}
);
} else {
$(".other_tran_div[sent='" + sentId + "']")
.children(".other_tran")
.slideUp();
$(this).siblings(".more_tran ").css("transform", "rotate(-90deg)");
}
});
} else {
//隐藏自己
//$(this).hide();
$(this).find(".other_tran_span").addClass("disable"); //gLocal.gui.no + gLocal.gui.other + gLocal.gui.translation
//$(this).find(".more_tran").hide();
}
});
}
function note_edit_sentence(book, para, begin, end, channal) {
let channalInfo;
for (const iterator of _channalData) {
if (iterator.id == channal) {
channalInfo = iterator;
break;
}
}
for (const iterator of _arrData) {
if (iterator.book == book && iterator.para == para && iterator.begin == begin && iterator.end == end) {
for (const tran of iterator.translation) {
if (tran.channal == channal) {
let html = "";
html += "