Keldos commited on
Commit
6957e82
·
1 Parent(s): 14a6582

WIP: 上传文件按钮可以多次上传

Browse files
web_assets/javascript/ChuanhuChat.js CHANGED
@@ -14,6 +14,7 @@ var appTitleDiv = null;
14
  var chatbotArea = null;
15
  var chatbot = null;
16
  var chatbotIndicator = null;
 
17
  var chatbotWrap = null;
18
  var apSwitch = null;
19
  var messageBotDivs = null;
@@ -42,9 +43,10 @@ var currentTime = new Date().getTime();
42
  let windowWidth = window.innerWidth; // 初始窗口宽度
43
 
44
  function addInit() {
45
- var needInit = {chatbotIndicator};
46
 
47
  chatbotIndicator = gradioApp().querySelector('#chuanhu-chatbot > div.wrap');
 
48
 
49
  for (let elem in needInit) {
50
  if (needInit[elem] == null) {
@@ -54,7 +56,8 @@ function addInit() {
54
  }
55
 
56
  chatbotObserver.observe(chatbotIndicator, { attributes: true });
57
-
 
58
  return true;
59
  }
60
 
@@ -100,7 +103,7 @@ function initialize() {
100
  setPopupBoxPosition();
101
  setSlider();
102
  checkModel();
103
- transUpload();
104
  // transCheckbox();
105
  setCheckboxes();
106
  // setScrollShadow();
 
14
  var chatbotArea = null;
15
  var chatbot = null;
16
  var chatbotIndicator = null;
17
+ var uploaderIndicator = null;
18
  var chatbotWrap = null;
19
  var apSwitch = null;
20
  var messageBotDivs = null;
 
43
  let windowWidth = window.innerWidth; // 初始窗口宽度
44
 
45
  function addInit() {
46
+ var needInit = {chatbotIndicator, uploaderIndicator};
47
 
48
  chatbotIndicator = gradioApp().querySelector('#chuanhu-chatbot > div.wrap');
49
+ uploaderIndicator = gradioApp().querySelector('#upload-index-file > div.wrap');
50
 
51
  for (let elem in needInit) {
52
  if (needInit[elem] == null) {
 
56
  }
57
 
58
  chatbotObserver.observe(chatbotIndicator, { attributes: true });
59
+ setUploader();
60
+
61
  return true;
62
  }
63
 
 
103
  setPopupBoxPosition();
104
  setSlider();
105
  checkModel();
106
+ // transUpload();
107
  // transCheckbox();
108
  setCheckboxes();
109
  // setScrollShadow();
web_assets/javascript/fake-gradio.js CHANGED
@@ -7,11 +7,39 @@ function newChatClick() {
7
  }
8
 
9
  // index files
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  function transUpload() {
11
- var grUploader = gradioApp().querySelector("#upload-index-file > .center.flex");
12
- var chatbotUploader = gradioApp().querySelector("#upload-files-btn");
13
- let uploaderEvents = ["click", "drag", "dragend", "dragenter", "dragleave", "dragover", "dragstart", "drop"];
14
- transEventListeners(chatbotUploader, grUploader, uploaderEvents);
 
 
 
 
15
  }
16
 
17
  // checkbox
 
7
  }
8
 
9
  // index files
10
+ function setUploader() {
11
+ transUpload();
12
+ var uploaderObserver = new MutationObserver(function (mutations) {
13
+ var fileInput = null;
14
+ var fileCount = 0;
15
+ fileInput = gradioApp().querySelector("#upload-index-file table.file-preview");
16
+ if (fileInput) {
17
+ chatbotArea.classList.add('with-file');
18
+ fileCount = fileInput.querySelectorAll('tbody > tr.file').length;
19
+ // chatbotArea.
20
+ } else {
21
+ chatbotArea.classList.remove('with-file');
22
+ fileCount = 0;
23
+ transUpload();
24
+ }
25
+ });
26
+ uploaderObserver.observe(uploaderIndicator, {attributes: true})
27
+ }
28
+ var grUploader;
29
+ var chatbotUploader;
30
+ var handleClick = function() {
31
+ grUploader.click();
32
+
33
+ };
34
  function transUpload() {
35
+ chatbotUploader = gradioApp().querySelector("#upload-files-btn");
36
+ chatbotUploader.removeEventListener('click', handleClick);
37
+ grUploader = gradioApp().querySelector("#upload-index-file > .center.flex");
38
+
39
+ // let uploaderEvents = ["click", "drag", "dragend", "dragenter", "dragleave", "dragover", "dragstart", "drop"];
40
+ // transEventListeners(chatbotUploader, grUploader, uploaderEvents);
41
+
42
+ chatbotUploader.addEventListener('click', handleClick);
43
  }
44
 
45
  // checkbox