pali_sent_list.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //输入段落列表,得到巴利句子列表
  2. var refresh_callback;
  3. class PaliSentList {
  4. constructor() {
  5. this.paraList = new Array();
  6. this.buffer = new Array();
  7. }
  8. pushPara(book, para) {
  9. for (const iterator of this.paraList) {
  10. if (iterator.book == book && iterator.para == para) {
  11. return;
  12. }
  13. }
  14. this.paraList.push({ book: book, para: para });
  15. }
  16. queryCallback(data, status) {
  17. switch (status) {
  18. case "success":
  19. try {
  20. let arrSent = JSON.parse(data);
  21. this.buffer = arrSent;
  22. if (refresh_callback) {
  23. refresh_callback(arrSent);
  24. }
  25. } catch (e) {}
  26. break;
  27. case "":
  28. break;
  29. }
  30. }
  31. refresh(callback) {
  32. refresh_callback = callback;
  33. $.post(
  34. "../pali_sent/pali_sent_list.php",
  35. {
  36. para: JSON.stringify(this.paraList),
  37. },
  38. this.queryCallback
  39. );
  40. }
  41. getSentList() {
  42. return buffer;
  43. }
  44. getSentText(book, para, start, end) {
  45. for (const iterator of buffer) {
  46. if (
  47. iterator.book == book &&
  48. iterator.para == para &&
  49. iterator.start == start &&
  50. iterator.end == end
  51. ) {
  52. return iterator.text;
  53. }
  54. }
  55. }
  56. }
  57. var _PaliSentList = new PaliSentList();