Browse Source

channal 模式 句子管理

visuddhinanda 5 years ago
parent
commit
b079429d65
4 changed files with 178 additions and 72 deletions
  1. 161 70
      app/studio/js/render.js
  2. 1 0
      app/ucenter/default.json
  3. 4 0
      app/usent/sent_query.php
  4. 12 2
      app/usent/usent_ref.js

+ 161 - 70
app/studio/js/render.js

@@ -1251,6 +1251,8 @@ function renderNoteShell(elementBlock) {
   }
   return output;
 }
+
+//句子上面的工具条
 function render_sent_tool_bar(elementBlock, begin) {
   let output = "";
   let axmlParInfo = elementBlock.getElementsByTagName("info")[0];
@@ -1340,11 +1342,11 @@ function render_sent_tool_bar(elementBlock, begin) {
   output += "</div>";
   return output;
 }
+
 var arr_par_sent_num = new Array();
 var g_arr_Para_ID = new Array();
 function renderWordParBlockInner(elementBlock) {
   var output = "<div style='display:block;width:100%'>";
-  let outList = "<table>"; //list mode
   var Note_Mark = 0;
   var sent_gramma_i = 0;
   var word_length_count = 0;
@@ -1459,20 +1461,6 @@ function renderWordParBlockInner(elementBlock) {
     output += "	</div>";
     output += "</div>";
 
-    outList += "<tr>";
-    outList +=
-      "<td>" +
-      wReal +
-      ":</td> <td>" +
-      wType +
-      "</td><td>" +
-      wGramma +
-      "</td> <td>" +
-      wParent +
-      "</td> <td>" +
-      wMean +
-      "</td>";
-    outList += "</tr>";
     //渲染单词块结束
 
     word_length_count += wPali.length;
@@ -1533,65 +1521,20 @@ function renderWordParBlockInner(elementBlock) {
           "')\"><span id='' class=\"word_msg\">issue</span></span>";
         //
         output += "</div>";
+
         output += "<div class='translate_sent_head_content'>";
         //句子预览
-        output += "<div class='trans_text_block'>";
-        output +=
-          "<div class='trans_text_content'  pcds='sent-net' book='" +
-          book +
-          "' para='" +
-          paragraph +
-          "' begin='" +
-          sent_begin +
-          "' end=''>";
-        let usent_count = _user_sent_buffer.getSentNum(
+        output += render_tran_sent_block(
           book,
           paragraph,
           sent_begin,
-          word_id
+          word_id,
+          1,
+          false
         );
-        let netSent = doc_msg_get_trans(book, paragraph, sent_begin, 0);
-        let sender = "";
-        if (netSent.length > 0) {
-          output += netSent[netSent.length - 1].data.text;
-          sender = netSent[netSent.length - 1].sender;
-        } else if (usent_count > 0) {
-          output += _user_sent_buffer.getSentText(
-            book,
-            paragraph,
-            sent_begin,
-            word_id
-          )[0].text;
-          sender = _user_sent_buffer.getSentText(
-            book,
-            paragraph,
-            sent_begin,
-            word_id
-          )[0].editor;
-        }
-        output += "</div>";
-        output +=
-          "<div class='trans_text_info'>" +
-          "<span><span>过滤</span><span class='author'>" +
-          sender +
-          "</span><span class='tag'>tag</span></span>" +
-          "<span><span class='tools'>" +
-          "<button>采纳</button>" +
-          "<button onclick=\"show_tran_net('" +
-          book +
-          "','" +
-          paragraph +
-          "','" +
-          sent_begin +
-          "','" +
-          word_id +
-          "')\">更多</button>" +
-          "</span><span>" +
-          usent_count +
-          "</span></span>" +
-          "</div>";
-        output += "</div>";
         //句子预览结束
+        output += "</div>";
+
         output +=
           "<div class='trans_text_content'  pcds='sent-net' book='" +
           book +
@@ -1744,15 +1687,163 @@ function renderWordParBlockInner(elementBlock) {
 
   output += "</div>";
 
-  outList += "</table>";
-
   var sent_ID = "sent_" + par_num + "_" + sent_num;
   arr_Para_ID.push(wID);
   arr_par_sent_num.push(sent_ID);
   g_arr_Para_ID[par_num] = arr_Para_ID;
-  return output; //+outList;
+  return output;
 }
 
+function render_tran_sent_block(
+  book,
+  para,
+  begin,
+  end,
+  channal = 0,
+  readonly = true
+) {
+  let usent_count = _user_sent_buffer.getSentNum(book, para, begin, end);
+  let netSent = doc_msg_get_trans(book, para, begin, end);
+  let sender = "";
+  let sChannalName = "";
+  let sent_text = "";
+  let objSent;
+  if (channal == 0) {
+    //百家言
+    if (netSent.length > 0) {
+      sender = netSent[netSent.length - 1].sender;
+      sent_text += netSent[netSent.length - 1].data.text;
+    } else if (usent_count > 0) {
+      sender = _user_sent_buffer.getSentText(book, para, begin, end)[0]
+        .nickname;
+      sChannalName = "channal name";
+      sent_text += _user_sent_buffer.getSentText(book, para, begin, end)[0]
+        .text;
+    }
+  } else {
+    sender = "通道的名字";
+    objSent = _user_sent_buffer.getSentText(book, para, begin, end, channal);
+
+    if (objSent == false) {
+      sent_text = "";
+    } else {
+      sent_text = objSent.text;
+    }
+  }
+
+  let output = "";
+
+  output += "<div class='trans_text_block' style='padding-top:0;";
+  if (readonly == false) {
+    output += "border-color: #ccd1ff;background-color:unset;";
+  }
+  output += "'>";
+  output += "<div class='trans_text_info' style='border:none;'>";
+  if (channal == 0) {
+    output += "<span class='author'>" + sender + "</span><span>[滤]</span>";
+  } else {
+    output += "频道名";
+  }
+  output += "</div>";
+  output +=
+    "<div class='trans_text_content'  pcds='sent-net' book='" +
+    book +
+    "' para='" +
+    para +
+    "' begin='" +
+    begin +
+    "' end='" +
+    end +
+    "' channal='" +
+    channal +
+    "'>";
+  if (readonly) {
+    output += sent_text;
+  } else {
+    if (objSent == false) {
+      sent_text = "点击编辑";
+    }
+    output +=
+      "<span onclick=\"sent_edit_click('" +
+      book +
+      "','" +
+      para +
+      "','" +
+      begin +
+      "','" +
+      end +
+      "','" +
+      channal +
+      "',)\">" +
+      sent_text +
+      "</span>";
+  }
+
+  output += "</div>";
+  if (readonly == false) {
+    output += "<div style='display:none;'>";
+    output +=
+      "<textarea class='trans_sent_edit' style='background-color: #f8f8fa;color: black;border-color: silver;' book='" +
+      book +
+      "'  para='" +
+      para +
+      "'  begin='" +
+      begin +
+      "'  end='" +
+      end +
+      "'  channal='" +
+      channal +
+      "' >";
+    output += sent_text;
+    output += "</textarea>";
+    output += "</div>";
+  }
+  output +=
+    "<div class='trans_text_info'>" +
+    "<span><span class='tag'>tag</span></span>" +
+    "<span><span class='tools'>";
+  if (readonly) {
+    output += "<button>采纳</button>";
+  } else {
+    output += "<button>保存</button>";
+  }
+
+  if (channal == 0) {
+    //百家言 显示更多按钮
+    output +=
+      "<button onclick=\"show_tran_net('" +
+      book +
+      "','" +
+      para +
+      "','" +
+      begin +
+      "','" +
+      end +
+      "')\">更多</button>";
+  }
+
+  output += "</span><span>" + usent_count + "</span></span>" + "</div>";
+  return output;
+}
+
+function sent_edit_click(book, para, begin, end, channal) {
+  $(".trans_sent_edit").parent().hide(200);
+  $(
+    ".trans_sent_edit[book='" +
+      book +
+      "'][para='" +
+      para +
+      "'][begin='" +
+      begin +
+      "'][end='" +
+      end +
+      "'][channal='" +
+      channal +
+      "']"
+  )
+    .parent()
+    .show();
+}
 function magic_sentence_cut() {
   var all_sent_array = document.getElementsByClassName("sent_wbw");
   for (i_magic = 0; i_magic < all_sent_array.length; i_magic++) {

+ 1 - 0
app/ucenter/default.json

@@ -3,6 +3,7 @@
   "ui.lang": ["en", "zh-hans", "zh-hant", "si", "my"],
   "_studio.translation.lang": ["en", "zh-hans", "zh-hant", "si", "my"],
   "studio.translation.lang": ["en", "zh-hans", "zh-hant"],
+  "studio.translation.autosave": true,
   "_dict.lang": ["en", "zh", "zh-hans", "zh-hant", "si"],
   "dict.lang": ["zh", "en"],
   "_dict.list": [

+ 4 - 0
app/usent/sent_query.php

@@ -5,6 +5,7 @@ get user sentence from db
 require_once "../path.php";
 require_once "../public/_pdo.php";
 require_once "../public/function.php";
+require_once "../ucenter/function.php";
 
 $sent = $_POST["sent"];
 $filter = $_POST["filter"];
@@ -23,6 +24,9 @@ foreach ($sentList as $key => $value) {
     # code...
     $stmt->execute(array($value->book,$value->para,$value->start,$value->end));
     $Fetch = $stmt->fetchAll(PDO::FETCH_ASSOC);
+    for($i=0 ; $i<count($Fetch) ; $i++) {
+        $Fetch[$i]["nickname"] = ucenter_getA($Fetch[$i]["editor"]);
+    }
     $sent = array();
     $sent["info"]=$value;
     $sent["data"]=$Fetch;

+ 12 - 2
app/usent/usent_ref.js

@@ -57,7 +57,7 @@ class USentResult {
     }
     return 0;
   }
-  getSentText(book, para, start, end, num = 1) {
+  getSentText(book, para, start, end, channal = 0) {
     for (const iterator of _usent_buffer) {
       if (
         iterator.info.book == book &&
@@ -65,7 +65,17 @@ class USentResult {
         iterator.info.start == start &&
         iterator.info.end == end
       ) {
-        return iterator.data;
+        if (channal == 0) {
+          return iterator.data;
+        } else {
+          for (const sent of iterator.data) {
+            if (sent.channal == channal) {
+              return sent;
+            } else {
+              return false;
+            }
+          }
+        }
       }
     }
     return null;