balibabu commited on
Commit
a9e3dcb
·
1 Parent(s): 4e03dc3

feat: set width of chunk text to 100% and add Skeleton to Preview of document and remove react-pdf (#94)

Browse files

* feat: remove react-pdf

* feat: add Skeleton to Preview of document

* feat: set width of chunk text to 100%

web/.umirc.ts CHANGED
@@ -1,16 +1,6 @@
1
- import path from 'path';
2
  import { defineConfig } from 'umi';
3
  import routes from './src/routes';
4
 
5
- const cMapsDir = path.join(
6
- path.dirname(require.resolve('pdfjs-dist/package.json')),
7
- 'cmaps',
8
- );
9
- const standardFontsDir = path.join(
10
- path.dirname(require.resolve('pdfjs-dist/package.json')),
11
- 'standard_fonts',
12
- );
13
-
14
  export default defineConfig({
15
  outputPath: 'dist',
16
  // alias: { '@': './src' },
@@ -38,11 +28,4 @@ export default defineConfig({
38
  // pathRewrite: { '^/v1': '/v1' },
39
  },
40
  },
41
- copy: [
42
- { from: cMapsDir, to: 'cmaps/' },
43
- { from: standardFontsDir, to: 'standard_fonts/' },
44
- ],
45
- chainWebpack(memo, args) {
46
- console.info(memo);
47
- },
48
  });
 
 
1
  import { defineConfig } from 'umi';
2
  import routes from './src/routes';
3
 
 
 
 
 
 
 
 
 
 
4
  export default defineConfig({
5
  outputPath: 'dist',
6
  // alias: { '@': './src' },
 
28
  // pathRewrite: { '^/v1': '/v1' },
29
  },
30
  },
 
 
 
 
 
 
 
31
  });
web/package-lock.json CHANGED
@@ -23,7 +23,6 @@
23
  "react-i18next": "^14.0.0",
24
  "react-infinite-scroll-component": "^6.1.0",
25
  "react-markdown": "^9.0.1",
26
- "react-pdf": "^7.7.1",
27
  "react-pdf-highlighter": "^6.1.0",
28
  "react-string-replace": "^1.1.1",
29
  "umi": "^4.0.90",
@@ -2101,109 +2100,6 @@
2101
  "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz",
2102
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
2103
  },
2104
- "node_modules/@mapbox/node-pre-gyp": {
2105
- "version": "1.0.11",
2106
- "resolved": "https://registry.npmmirror.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
2107
- "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
2108
- "optional": true,
2109
- "dependencies": {
2110
- "detect-libc": "^2.0.0",
2111
- "https-proxy-agent": "^5.0.0",
2112
- "make-dir": "^3.1.0",
2113
- "node-fetch": "^2.6.7",
2114
- "nopt": "^5.0.0",
2115
- "npmlog": "^5.0.1",
2116
- "rimraf": "^3.0.2",
2117
- "semver": "^7.3.5",
2118
- "tar": "^6.1.11"
2119
- },
2120
- "bin": {
2121
- "node-pre-gyp": "bin/node-pre-gyp"
2122
- }
2123
- },
2124
- "node_modules/@mapbox/node-pre-gyp/node_modules/detect-libc": {
2125
- "version": "2.0.2",
2126
- "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.0.2.tgz",
2127
- "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==",
2128
- "optional": true,
2129
- "engines": {
2130
- "node": ">=8"
2131
- }
2132
- },
2133
- "node_modules/@mapbox/node-pre-gyp/node_modules/lru-cache": {
2134
- "version": "6.0.0",
2135
- "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
2136
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
2137
- "optional": true,
2138
- "dependencies": {
2139
- "yallist": "^4.0.0"
2140
- },
2141
- "engines": {
2142
- "node": ">=10"
2143
- }
2144
- },
2145
- "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir": {
2146
- "version": "3.1.0",
2147
- "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz",
2148
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
2149
- "optional": true,
2150
- "dependencies": {
2151
- "semver": "^6.0.0"
2152
- },
2153
- "engines": {
2154
- "node": ">=8"
2155
- }
2156
- },
2157
- "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir/node_modules/semver": {
2158
- "version": "6.3.1",
2159
- "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
2160
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
2161
- "optional": true,
2162
- "bin": {
2163
- "semver": "bin/semver.js"
2164
- }
2165
- },
2166
- "node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": {
2167
- "version": "2.7.0",
2168
- "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz",
2169
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
2170
- "optional": true,
2171
- "dependencies": {
2172
- "whatwg-url": "^5.0.0"
2173
- },
2174
- "engines": {
2175
- "node": "4.x || >=6.0.0"
2176
- },
2177
- "peerDependencies": {
2178
- "encoding": "^0.1.0"
2179
- },
2180
- "peerDependenciesMeta": {
2181
- "encoding": {
2182
- "optional": true
2183
- }
2184
- }
2185
- },
2186
- "node_modules/@mapbox/node-pre-gyp/node_modules/semver": {
2187
- "version": "7.6.0",
2188
- "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
2189
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
2190
- "optional": true,
2191
- "dependencies": {
2192
- "lru-cache": "^6.0.0"
2193
- },
2194
- "bin": {
2195
- "semver": "bin/semver.js"
2196
- },
2197
- "engines": {
2198
- "node": ">=10"
2199
- }
2200
- },
2201
- "node_modules/@mapbox/node-pre-gyp/node_modules/yallist": {
2202
- "version": "4.0.0",
2203
- "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
2204
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
2205
- "optional": true
2206
- },
2207
  "node_modules/@mrmlnc/readdir-enhanced": {
2208
  "version": "2.2.1",
2209
  "resolved": "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -4688,12 +4584,6 @@
4688
  "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
4689
  "peer": true
4690
  },
4691
- "node_modules/abbrev": {
4692
- "version": "1.1.1",
4693
- "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz",
4694
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
4695
- "optional": true
4696
- },
4697
  "node_modules/acorn": {
4698
  "version": "8.11.3",
4699
  "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
@@ -4740,18 +4630,6 @@
4740
  "node": ">= 10.0.0"
4741
  }
4742
  },
4743
- "node_modules/agent-base": {
4744
- "version": "6.0.2",
4745
- "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
4746
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
4747
- "optional": true,
4748
- "dependencies": {
4749
- "debug": "4"
4750
- },
4751
- "engines": {
4752
- "node": ">= 6.0.0"
4753
- }
4754
- },
4755
  "node_modules/aggregate-error": {
4756
  "version": "3.1.0",
4757
  "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -4914,25 +4792,6 @@
4914
  "node": ">= 8"
4915
  }
4916
  },
4917
- "node_modules/aproba": {
4918
- "version": "2.0.0",
4919
- "resolved": "https://registry.npmmirror.com/aproba/-/aproba-2.0.0.tgz",
4920
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
4921
- "optional": true
4922
- },
4923
- "node_modules/are-we-there-yet": {
4924
- "version": "2.0.0",
4925
- "resolved": "https://registry.npmmirror.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
4926
- "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
4927
- "optional": true,
4928
- "dependencies": {
4929
- "delegates": "^1.0.0",
4930
- "readable-stream": "^3.6.0"
4931
- },
4932
- "engines": {
4933
- "node": ">=10"
4934
- }
4935
- },
4936
  "node_modules/argparse": {
4937
  "version": "1.0.10",
4938
  "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz",
@@ -5766,21 +5625,6 @@
5766
  "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz",
5767
  "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg=="
5768
  },
5769
- "node_modules/canvas": {
5770
- "version": "2.11.2",
5771
- "resolved": "https://registry.npmmirror.com/canvas/-/canvas-2.11.2.tgz",
5772
- "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==",
5773
- "hasInstallScript": true,
5774
- "optional": true,
5775
- "dependencies": {
5776
- "@mapbox/node-pre-gyp": "^1.0.0",
5777
- "nan": "^2.17.0",
5778
- "simple-get": "^3.0.3"
5779
- },
5780
- "engines": {
5781
- "node": ">=6"
5782
- }
5783
- },
5784
  "node_modules/ccount": {
5785
  "version": "2.0.1",
5786
  "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz",
@@ -5839,15 +5683,6 @@
5839
  "fsevents": "~2.3.2"
5840
  }
5841
  },
5842
- "node_modules/chownr": {
5843
- "version": "2.0.0",
5844
- "resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz",
5845
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
5846
- "optional": true,
5847
- "engines": {
5848
- "node": ">=10"
5849
- }
5850
- },
5851
  "node_modules/chrome-trace-event": {
5852
  "version": "1.0.3",
5853
  "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
@@ -5978,14 +5813,6 @@
5978
  "node": ">=12"
5979
  }
5980
  },
5981
- "node_modules/clsx": {
5982
- "version": "2.1.0",
5983
- "resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.0.tgz",
5984
- "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==",
5985
- "engines": {
5986
- "node": ">=6"
5987
- }
5988
- },
5989
  "node_modules/coa": {
5990
  "version": "2.0.2",
5991
  "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz",
@@ -6026,15 +5853,6 @@
6026
  "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
6027
  "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
6028
  },
6029
- "node_modules/color-support": {
6030
- "version": "1.1.3",
6031
- "resolved": "https://registry.npmmirror.com/color-support/-/color-support-1.1.3.tgz",
6032
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
6033
- "optional": true,
6034
- "bin": {
6035
- "color-support": "bin.js"
6036
- }
6037
- },
6038
  "node_modules/colord": {
6039
  "version": "2.9.3",
6040
  "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz",
@@ -6091,12 +5909,6 @@
6091
  "resolved": "https://registry.npmmirror.com/console-browserify/-/console-browserify-1.2.0.tgz",
6092
  "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
6093
  },
6094
- "node_modules/console-control-strings": {
6095
- "version": "1.1.0",
6096
- "resolved": "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz",
6097
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
6098
- "optional": true
6099
- },
6100
  "node_modules/constants-browserify": {
6101
  "version": "1.0.0",
6102
  "resolved": "https://registry.npmmirror.com/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -6890,18 +6702,6 @@
6890
  "node": ">=0.10"
6891
  }
6892
  },
6893
- "node_modules/decompress-response": {
6894
- "version": "4.2.1",
6895
- "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-4.2.1.tgz",
6896
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
6897
- "optional": true,
6898
- "dependencies": {
6899
- "mimic-response": "^2.0.0"
6900
- },
6901
- "engines": {
6902
- "node": ">=8"
6903
- }
6904
- },
6905
  "node_modules/deep-is": {
6906
  "version": "0.1.4",
6907
  "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz",
@@ -7078,12 +6878,6 @@
7078
  "node": ">=0.4.0"
7079
  }
7080
  },
7081
- "node_modules/delegates": {
7082
- "version": "1.0.0",
7083
- "resolved": "https://registry.npmmirror.com/delegates/-/delegates-1.0.0.tgz",
7084
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
7085
- "optional": true
7086
- },
7087
  "node_modules/dequal": {
7088
  "version": "2.0.3",
7089
  "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz",
@@ -8918,36 +8712,6 @@
8918
  "node": ">=12"
8919
  }
8920
  },
8921
- "node_modules/fs-minipass": {
8922
- "version": "2.1.0",
8923
- "resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz",
8924
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
8925
- "optional": true,
8926
- "dependencies": {
8927
- "minipass": "^3.0.0"
8928
- },
8929
- "engines": {
8930
- "node": ">= 8"
8931
- }
8932
- },
8933
- "node_modules/fs-minipass/node_modules/minipass": {
8934
- "version": "3.3.6",
8935
- "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz",
8936
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
8937
- "optional": true,
8938
- "dependencies": {
8939
- "yallist": "^4.0.0"
8940
- },
8941
- "engines": {
8942
- "node": ">=8"
8943
- }
8944
- },
8945
- "node_modules/fs-minipass/node_modules/yallist": {
8946
- "version": "4.0.0",
8947
- "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
8948
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
8949
- "optional": true
8950
- },
8951
  "node_modules/fs-monkey": {
8952
  "version": "1.0.5",
8953
  "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.5.tgz",
@@ -8995,26 +8759,6 @@
8995
  "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz",
8996
  "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
8997
  },
8998
- "node_modules/gauge": {
8999
- "version": "3.0.2",
9000
- "resolved": "https://registry.npmmirror.com/gauge/-/gauge-3.0.2.tgz",
9001
- "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
9002
- "optional": true,
9003
- "dependencies": {
9004
- "aproba": "^1.0.3 || ^2.0.0",
9005
- "color-support": "^1.1.2",
9006
- "console-control-strings": "^1.0.0",
9007
- "has-unicode": "^2.0.1",
9008
- "object-assign": "^4.1.1",
9009
- "signal-exit": "^3.0.0",
9010
- "string-width": "^4.2.3",
9011
- "strip-ansi": "^6.0.1",
9012
- "wide-align": "^1.1.2"
9013
- },
9014
- "engines": {
9015
- "node": ">=10"
9016
- }
9017
- },
9018
  "node_modules/gensync": {
9019
  "version": "1.0.0-beta.2",
9020
  "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -9341,12 +9085,6 @@
9341
  "node": ">= 0.4"
9342
  }
9343
  },
9344
- "node_modules/has-unicode": {
9345
- "version": "2.0.1",
9346
- "resolved": "https://registry.npmmirror.com/has-unicode/-/has-unicode-2.0.1.tgz",
9347
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
9348
- "optional": true
9349
- },
9350
  "node_modules/has-value": {
9351
  "version": "1.0.0",
9352
  "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz",
@@ -9687,19 +9425,6 @@
9687
  "resolved": "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz",
9688
  "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
9689
  },
9690
- "node_modules/https-proxy-agent": {
9691
- "version": "5.0.1",
9692
- "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
9693
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
9694
- "optional": true,
9695
- "dependencies": {
9696
- "agent-base": "6",
9697
- "debug": "4"
9698
- },
9699
- "engines": {
9700
- "node": ">= 6"
9701
- }
9702
- },
9703
  "node_modules/human-signals": {
9704
  "version": "2.1.0",
9705
  "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz",
@@ -11302,11 +11027,6 @@
11302
  "yallist": "^3.0.2"
11303
  }
11304
  },
11305
- "node_modules/make-cancellable-promise": {
11306
- "version": "1.3.2",
11307
- "resolved": "https://registry.npmmirror.com/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz",
11308
- "integrity": "sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww=="
11309
- },
11310
  "node_modules/make-dir": {
11311
  "version": "2.1.0",
11312
  "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
@@ -11329,11 +11049,6 @@
11329
  "semver": "bin/semver"
11330
  }
11331
  },
11332
- "node_modules/make-event-props": {
11333
- "version": "1.6.2",
11334
- "resolved": "https://registry.npmmirror.com/make-event-props/-/make-event-props-1.6.2.tgz",
11335
- "integrity": "sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA=="
11336
- },
11337
  "node_modules/makeerror": {
11338
  "version": "1.0.12",
11339
  "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz",
@@ -11540,19 +11255,6 @@
11540
  "node": ">=10"
11541
  }
11542
  },
11543
- "node_modules/merge-refs": {
11544
- "version": "1.2.2",
11545
- "resolved": "https://registry.npmmirror.com/merge-refs/-/merge-refs-1.2.2.tgz",
11546
- "integrity": "sha512-RwcT7GsQR3KbuLw1rRuodq4Nt547BKEBkliZ0qqsrpyNne9bGTFtsFIsIpx82huWhcl3kOlOlH4H0xkPk/DqVw==",
11547
- "peerDependencies": {
11548
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0"
11549
- },
11550
- "peerDependenciesMeta": {
11551
- "@types/react": {
11552
- "optional": true
11553
- }
11554
- }
11555
- },
11556
  "node_modules/merge-stream": {
11557
  "version": "2.0.0",
11558
  "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -11845,15 +11547,6 @@
11845
  "node": ">=6"
11846
  }
11847
  },
11848
- "node_modules/mimic-response": {
11849
- "version": "2.1.0",
11850
- "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-2.1.0.tgz",
11851
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
11852
- "optional": true,
11853
- "engines": {
11854
- "node": ">=8"
11855
- }
11856
- },
11857
  "node_modules/min-document": {
11858
  "version": "2.19.0",
11859
  "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz",
@@ -11922,46 +11615,6 @@
11922
  "node": ">=0.10.0"
11923
  }
11924
  },
11925
- "node_modules/minipass": {
11926
- "version": "5.0.0",
11927
- "resolved": "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz",
11928
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
11929
- "optional": true,
11930
- "engines": {
11931
- "node": ">=8"
11932
- }
11933
- },
11934
- "node_modules/minizlib": {
11935
- "version": "2.1.2",
11936
- "resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz",
11937
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
11938
- "optional": true,
11939
- "dependencies": {
11940
- "minipass": "^3.0.0",
11941
- "yallist": "^4.0.0"
11942
- },
11943
- "engines": {
11944
- "node": ">= 8"
11945
- }
11946
- },
11947
- "node_modules/minizlib/node_modules/minipass": {
11948
- "version": "3.3.6",
11949
- "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz",
11950
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
11951
- "optional": true,
11952
- "dependencies": {
11953
- "yallist": "^4.0.0"
11954
- },
11955
- "engines": {
11956
- "node": ">=8"
11957
- }
11958
- },
11959
- "node_modules/minizlib/node_modules/yallist": {
11960
- "version": "4.0.0",
11961
- "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
11962
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
11963
- "optional": true
11964
- },
11965
  "node_modules/mixin-deep": {
11966
  "version": "1.3.2",
11967
  "resolved": "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz",
@@ -12000,12 +11653,6 @@
12000
  "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
12001
  "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
12002
  },
12003
- "node_modules/nan": {
12004
- "version": "2.18.0",
12005
- "resolved": "https://registry.npmmirror.com/nan/-/nan-2.18.0.tgz",
12006
- "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==",
12007
- "optional": true
12008
- },
12009
  "node_modules/nanoid": {
12010
  "version": "3.3.7",
12011
  "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
@@ -12191,21 +11838,6 @@
12191
  "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz",
12192
  "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
12193
  },
12194
- "node_modules/nopt": {
12195
- "version": "5.0.0",
12196
- "resolved": "https://registry.npmmirror.com/nopt/-/nopt-5.0.0.tgz",
12197
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
12198
- "optional": true,
12199
- "dependencies": {
12200
- "abbrev": "1"
12201
- },
12202
- "bin": {
12203
- "nopt": "bin/nopt.js"
12204
- },
12205
- "engines": {
12206
- "node": ">=6"
12207
- }
12208
- },
12209
  "node_modules/normalize-package-data": {
12210
  "version": "3.0.3",
12211
  "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
@@ -12281,18 +11913,6 @@
12281
  "node": ">=8"
12282
  }
12283
  },
12284
- "node_modules/npmlog": {
12285
- "version": "5.0.1",
12286
- "resolved": "https://registry.npmmirror.com/npmlog/-/npmlog-5.0.1.tgz",
12287
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
12288
- "optional": true,
12289
- "dependencies": {
12290
- "are-we-there-yet": "^2.0.0",
12291
- "console-control-strings": "^1.1.0",
12292
- "gauge": "^3.0.0",
12293
- "set-blocking": "^2.0.0"
12294
- }
12295
- },
12296
  "node_modules/nth-check": {
12297
  "version": "2.1.1",
12298
  "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz",
@@ -12825,15 +12445,6 @@
12825
  "node": ">=8"
12826
  }
12827
  },
12828
- "node_modules/path2d-polyfill": {
12829
- "version": "2.0.1",
12830
- "resolved": "https://registry.npmmirror.com/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz",
12831
- "integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==",
12832
- "optional": true,
12833
- "engines": {
12834
- "node": ">=8"
12835
- }
12836
- },
12837
  "node_modules/pbkdf2": {
12838
  "version": "3.1.2",
12839
  "resolved": "https://registry.npmmirror.com/pbkdf2/-/pbkdf2-3.1.2.tgz",
@@ -12849,18 +12460,6 @@
12849
  "node": ">=0.12"
12850
  }
12851
  },
12852
- "node_modules/pdfjs-dist": {
12853
- "version": "3.11.174",
12854
- "resolved": "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-3.11.174.tgz",
12855
- "integrity": "sha512-TdTZPf1trZ8/UFu5Cx/GXB7GZM30LT+wWUNfsi6Bq8ePLnb+woNKtDymI2mxZYBpMbonNFqKmiz684DIfnd8dA==",
12856
- "engines": {
12857
- "node": ">=18"
12858
- },
12859
- "optionalDependencies": {
12860
- "canvas": "^2.11.2",
12861
- "path2d-polyfill": "^2.0.1"
12862
- }
12863
- },
12864
  "node_modules/performance-now": {
12865
  "version": "2.1.0",
12866
  "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
@@ -14890,32 +14489,6 @@
14890
  "resolved": "https://registry.npmmirror.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz",
14891
  "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ=="
14892
  },
14893
- "node_modules/react-pdf": {
14894
- "version": "7.7.1",
14895
- "resolved": "https://registry.npmmirror.com/react-pdf/-/react-pdf-7.7.1.tgz",
14896
- "integrity": "sha512-cbbf/PuRtGcPPw+HLhMI1f6NSka8OJgg+j/yPWTe95Owf0fK6gmVY7OXpTxMeh92O3T3K3EzfE0ML0eXPGwR5g==",
14897
- "dependencies": {
14898
- "clsx": "^2.0.0",
14899
- "dequal": "^2.0.3",
14900
- "make-cancellable-promise": "^1.3.1",
14901
- "make-event-props": "^1.6.0",
14902
- "merge-refs": "^1.2.1",
14903
- "pdfjs-dist": "3.11.174",
14904
- "prop-types": "^15.6.2",
14905
- "tiny-invariant": "^1.0.0",
14906
- "warning": "^4.0.0"
14907
- },
14908
- "peerDependencies": {
14909
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
14910
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
14911
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
14912
- },
14913
- "peerDependenciesMeta": {
14914
- "@types/react": {
14915
- "optional": true
14916
- }
14917
- }
14918
- },
14919
  "node_modules/react-pdf-highlighter": {
14920
  "version": "6.1.0",
14921
  "resolved": "https://registry.npmmirror.com/react-pdf-highlighter/-/react-pdf-highlighter-6.1.0.tgz",
@@ -15522,6 +15095,7 @@
15522
  "version": "3.0.2",
15523
  "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
15524
  "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
 
15525
  "dependencies": {
15526
  "glob": "^7.1.3"
15527
  },
@@ -15714,12 +15288,6 @@
15714
  "randombytes": "^2.1.0"
15715
  }
15716
  },
15717
- "node_modules/set-blocking": {
15718
- "version": "2.0.0",
15719
- "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
15720
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
15721
- "optional": true
15722
- },
15723
  "node_modules/set-function-length": {
15724
  "version": "1.1.1",
15725
  "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.1.1.tgz",
@@ -15859,23 +15427,6 @@
15859
  "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
15860
  "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
15861
  },
15862
- "node_modules/simple-concat": {
15863
- "version": "1.0.1",
15864
- "resolved": "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz",
15865
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
15866
- "optional": true
15867
- },
15868
- "node_modules/simple-get": {
15869
- "version": "3.1.1",
15870
- "resolved": "https://registry.npmmirror.com/simple-get/-/simple-get-3.1.1.tgz",
15871
- "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==",
15872
- "optional": true,
15873
- "dependencies": {
15874
- "decompress-response": "^4.2.0",
15875
- "once": "^1.3.1",
15876
- "simple-concat": "^1.0.0"
15877
- }
15878
- },
15879
  "node_modules/single-spa": {
15880
  "version": "5.9.5",
15881
  "resolved": "https://registry.npmmirror.com/single-spa/-/single-spa-5.9.5.tgz",
@@ -16912,41 +16463,6 @@
16912
  "node": ">=6"
16913
  }
16914
  },
16915
- "node_modules/tar": {
16916
- "version": "6.2.0",
16917
- "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.0.tgz",
16918
- "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
16919
- "optional": true,
16920
- "dependencies": {
16921
- "chownr": "^2.0.0",
16922
- "fs-minipass": "^2.0.0",
16923
- "minipass": "^5.0.0",
16924
- "minizlib": "^2.1.1",
16925
- "mkdirp": "^1.0.3",
16926
- "yallist": "^4.0.0"
16927
- },
16928
- "engines": {
16929
- "node": ">=10"
16930
- }
16931
- },
16932
- "node_modules/tar/node_modules/mkdirp": {
16933
- "version": "1.0.4",
16934
- "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
16935
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
16936
- "optional": true,
16937
- "bin": {
16938
- "mkdirp": "bin/cmd.js"
16939
- },
16940
- "engines": {
16941
- "node": ">=10"
16942
- }
16943
- },
16944
- "node_modules/tar/node_modules/yallist": {
16945
- "version": "4.0.0",
16946
- "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
16947
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
16948
- "optional": true
16949
- },
16950
  "node_modules/terser": {
16951
  "version": "5.26.0",
16952
  "resolved": "https://registry.npmmirror.com/terser/-/terser-5.26.0.tgz",
@@ -17087,7 +16603,9 @@
17087
  "node_modules/tiny-invariant": {
17088
  "version": "1.3.1",
17089
  "resolved": "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
17090
- "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
 
 
17091
  },
17092
  "node_modules/tiny-warning": {
17093
  "version": "1.0.3",
@@ -17200,12 +16718,6 @@
17200
  "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
17201
  "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
17202
  },
17203
- "node_modules/tr46": {
17204
- "version": "0.0.3",
17205
- "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz",
17206
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
17207
- "optional": true
17208
- },
17209
  "node_modules/trim-lines": {
17210
  "version": "3.0.1",
17211
  "resolved": "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz",
@@ -18417,12 +17929,6 @@
18417
  "node": ">= 8"
18418
  }
18419
  },
18420
- "node_modules/webidl-conversions": {
18421
- "version": "3.0.1",
18422
- "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
18423
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
18424
- "optional": true
18425
- },
18426
  "node_modules/webpack": {
18427
  "version": "5.89.0",
18428
  "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz",
@@ -18493,16 +17999,6 @@
18493
  "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz",
18494
  "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="
18495
  },
18496
- "node_modules/whatwg-url": {
18497
- "version": "5.0.0",
18498
- "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz",
18499
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
18500
- "optional": true,
18501
- "dependencies": {
18502
- "tr46": "~0.0.3",
18503
- "webidl-conversions": "^3.0.0"
18504
- }
18505
- },
18506
  "node_modules/which": {
18507
  "version": "2.0.2",
18508
  "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
@@ -18577,15 +18073,6 @@
18577
  "node": ">= 0.4"
18578
  }
18579
  },
18580
- "node_modules/wide-align": {
18581
- "version": "1.1.5",
18582
- "resolved": "https://registry.npmmirror.com/wide-align/-/wide-align-1.1.5.tgz",
18583
- "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
18584
- "optional": true,
18585
- "dependencies": {
18586
- "string-width": "^1.0.2 || 2 || 3 || 4"
18587
- }
18588
- },
18589
  "node_modules/wrap-ansi": {
18590
  "version": "7.0.0",
18591
  "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
 
23
  "react-i18next": "^14.0.0",
24
  "react-infinite-scroll-component": "^6.1.0",
25
  "react-markdown": "^9.0.1",
 
26
  "react-pdf-highlighter": "^6.1.0",
27
  "react-string-replace": "^1.1.1",
28
  "umi": "^4.0.90",
 
2100
  "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz",
2101
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
2102
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2103
  "node_modules/@mrmlnc/readdir-enhanced": {
2104
  "version": "2.2.1",
2105
  "resolved": "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
 
4584
  "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
4585
  "peer": true
4586
  },
 
 
 
 
 
 
4587
  "node_modules/acorn": {
4588
  "version": "8.11.3",
4589
  "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
 
4630
  "node": ">= 10.0.0"
4631
  }
4632
  },
 
 
 
 
 
 
 
 
 
 
 
 
4633
  "node_modules/aggregate-error": {
4634
  "version": "3.1.0",
4635
  "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz",
 
4792
  "node": ">= 8"
4793
  }
4794
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4795
  "node_modules/argparse": {
4796
  "version": "1.0.10",
4797
  "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz",
 
5625
  "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz",
5626
  "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg=="
5627
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5628
  "node_modules/ccount": {
5629
  "version": "2.0.1",
5630
  "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz",
 
5683
  "fsevents": "~2.3.2"
5684
  }
5685
  },
 
 
 
 
 
 
 
 
 
5686
  "node_modules/chrome-trace-event": {
5687
  "version": "1.0.3",
5688
  "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
 
5813
  "node": ">=12"
5814
  }
5815
  },
 
 
 
 
 
 
 
 
5816
  "node_modules/coa": {
5817
  "version": "2.0.2",
5818
  "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz",
 
5853
  "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
5854
  "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
5855
  },
 
 
 
 
 
 
 
 
 
5856
  "node_modules/colord": {
5857
  "version": "2.9.3",
5858
  "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz",
 
5909
  "resolved": "https://registry.npmmirror.com/console-browserify/-/console-browserify-1.2.0.tgz",
5910
  "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
5911
  },
 
 
 
 
 
 
5912
  "node_modules/constants-browserify": {
5913
  "version": "1.0.0",
5914
  "resolved": "https://registry.npmmirror.com/constants-browserify/-/constants-browserify-1.0.0.tgz",
 
6702
  "node": ">=0.10"
6703
  }
6704
  },
 
 
 
 
 
 
 
 
 
 
 
 
6705
  "node_modules/deep-is": {
6706
  "version": "0.1.4",
6707
  "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz",
 
6878
  "node": ">=0.4.0"
6879
  }
6880
  },
 
 
 
 
 
 
6881
  "node_modules/dequal": {
6882
  "version": "2.0.3",
6883
  "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz",
 
8712
  "node": ">=12"
8713
  }
8714
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8715
  "node_modules/fs-monkey": {
8716
  "version": "1.0.5",
8717
  "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.5.tgz",
 
8759
  "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz",
8760
  "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
8761
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8762
  "node_modules/gensync": {
8763
  "version": "1.0.0-beta.2",
8764
  "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
 
9085
  "node": ">= 0.4"
9086
  }
9087
  },
 
 
 
 
 
 
9088
  "node_modules/has-value": {
9089
  "version": "1.0.0",
9090
  "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz",
 
9425
  "resolved": "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz",
9426
  "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
9427
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
9428
  "node_modules/human-signals": {
9429
  "version": "2.1.0",
9430
  "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz",
 
11027
  "yallist": "^3.0.2"
11028
  }
11029
  },
 
 
 
 
 
11030
  "node_modules/make-dir": {
11031
  "version": "2.1.0",
11032
  "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
 
11049
  "semver": "bin/semver"
11050
  }
11051
  },
 
 
 
 
 
11052
  "node_modules/makeerror": {
11053
  "version": "1.0.12",
11054
  "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz",
 
11255
  "node": ">=10"
11256
  }
11257
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
11258
  "node_modules/merge-stream": {
11259
  "version": "2.0.0",
11260
  "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
 
11547
  "node": ">=6"
11548
  }
11549
  },
 
 
 
 
 
 
 
 
 
11550
  "node_modules/min-document": {
11551
  "version": "2.19.0",
11552
  "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz",
 
11615
  "node": ">=0.10.0"
11616
  }
11617
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11618
  "node_modules/mixin-deep": {
11619
  "version": "1.3.2",
11620
  "resolved": "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz",
 
11653
  "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
11654
  "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
11655
  },
 
 
 
 
 
 
11656
  "node_modules/nanoid": {
11657
  "version": "3.3.7",
11658
  "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
 
11838
  "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz",
11839
  "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
11840
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11841
  "node_modules/normalize-package-data": {
11842
  "version": "3.0.3",
11843
  "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
 
11913
  "node": ">=8"
11914
  }
11915
  },
 
 
 
 
 
 
 
 
 
 
 
 
11916
  "node_modules/nth-check": {
11917
  "version": "2.1.1",
11918
  "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz",
 
12445
  "node": ">=8"
12446
  }
12447
  },
 
 
 
 
 
 
 
 
 
12448
  "node_modules/pbkdf2": {
12449
  "version": "3.1.2",
12450
  "resolved": "https://registry.npmmirror.com/pbkdf2/-/pbkdf2-3.1.2.tgz",
 
12460
  "node": ">=0.12"
12461
  }
12462
  },
 
 
 
 
 
 
 
 
 
 
 
 
12463
  "node_modules/performance-now": {
12464
  "version": "2.1.0",
12465
  "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
 
14489
  "resolved": "https://registry.npmmirror.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz",
14490
  "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ=="
14491
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14492
  "node_modules/react-pdf-highlighter": {
14493
  "version": "6.1.0",
14494
  "resolved": "https://registry.npmmirror.com/react-pdf-highlighter/-/react-pdf-highlighter-6.1.0.tgz",
 
15095
  "version": "3.0.2",
15096
  "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
15097
  "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
15098
+ "peer": true,
15099
  "dependencies": {
15100
  "glob": "^7.1.3"
15101
  },
 
15288
  "randombytes": "^2.1.0"
15289
  }
15290
  },
 
 
 
 
 
 
15291
  "node_modules/set-function-length": {
15292
  "version": "1.1.1",
15293
  "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.1.1.tgz",
 
15427
  "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
15428
  "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
15429
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15430
  "node_modules/single-spa": {
15431
  "version": "5.9.5",
15432
  "resolved": "https://registry.npmmirror.com/single-spa/-/single-spa-5.9.5.tgz",
 
16463
  "node": ">=6"
16464
  }
16465
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16466
  "node_modules/terser": {
16467
  "version": "5.26.0",
16468
  "resolved": "https://registry.npmmirror.com/terser/-/terser-5.26.0.tgz",
 
16603
  "node_modules/tiny-invariant": {
16604
  "version": "1.3.1",
16605
  "resolved": "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
16606
+ "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==",
16607
+ "dev": true,
16608
+ "peer": true
16609
  },
16610
  "node_modules/tiny-warning": {
16611
  "version": "1.0.3",
 
16718
  "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
16719
  "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
16720
  },
 
 
 
 
 
 
16721
  "node_modules/trim-lines": {
16722
  "version": "3.0.1",
16723
  "resolved": "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz",
 
17929
  "node": ">= 8"
17930
  }
17931
  },
 
 
 
 
 
 
17932
  "node_modules/webpack": {
17933
  "version": "5.89.0",
17934
  "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz",
 
17999
  "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz",
18000
  "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="
18001
  },
 
 
 
 
 
 
 
 
 
 
18002
  "node_modules/which": {
18003
  "version": "2.0.2",
18004
  "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
 
18073
  "node": ">= 0.4"
18074
  }
18075
  },
 
 
 
 
 
 
 
 
 
18076
  "node_modules/wrap-ansi": {
18077
  "version": "7.0.0",
18078
  "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
web/package.json CHANGED
@@ -27,7 +27,6 @@
27
  "react-i18next": "^14.0.0",
28
  "react-infinite-scroll-component": "^6.1.0",
29
  "react-markdown": "^9.0.1",
30
- "react-pdf": "^7.7.1",
31
  "react-pdf-highlighter": "^6.1.0",
32
  "react-string-replace": "^1.1.1",
33
  "umi": "^4.0.90",
 
27
  "react-i18next": "^14.0.0",
28
  "react-infinite-scroll-component": "^6.1.0",
29
  "react-markdown": "^9.0.1",
 
30
  "react-pdf-highlighter": "^6.1.0",
31
  "react-string-replace": "^1.1.1",
32
  "umi": "^4.0.90",
web/src/layouts/index.tsx CHANGED
@@ -1,15 +1,14 @@
1
  import { Divider, Layout, theme } from 'antd';
2
  import React from 'react';
3
- import { useTranslation } from 'react-i18next';
4
  import { Outlet } from 'umi';
5
  import '../locales/config';
6
  import Header from './components/header';
 
7
  import styles from './index.less';
8
 
9
  const { Content } = Layout;
10
 
11
  const App: React.FC = () => {
12
- const { t } = useTranslation();
13
  const {
14
  token: { colorBgContainer, borderRadiusLG },
15
  } = theme.useToken();
@@ -25,6 +24,7 @@ const App: React.FC = () => {
25
  background: colorBgContainer,
26
  borderRadius: borderRadiusLG,
27
  overflow: 'auto',
 
28
  }}
29
  >
30
  <Outlet />
 
1
  import { Divider, Layout, theme } from 'antd';
2
  import React from 'react';
 
3
  import { Outlet } from 'umi';
4
  import '../locales/config';
5
  import Header from './components/header';
6
+
7
  import styles from './index.less';
8
 
9
  const { Content } = Layout;
10
 
11
  const App: React.FC = () => {
 
12
  const {
13
  token: { colorBgContainer, borderRadiusLG },
14
  } = theme.useToken();
 
24
  background: colorBgContainer,
25
  borderRadius: borderRadiusLG,
26
  overflow: 'auto',
27
+ display: 'flex',
28
  }}
29
  >
30
  <Outlet />
web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-card/index.less CHANGED
@@ -13,6 +13,9 @@
13
  color: red;
14
  font-style: normal;
15
  }
 
 
 
16
 
17
  caption {
18
  color: @blurBackground;
 
13
  color: red;
14
  font-style: normal;
15
  }
16
+ table {
17
+ width: 100%;
18
+ }
19
 
20
  caption {
21
  color: @blurBackground;
web/src/pages/add-knowledge/components/knowledge-chunk/components/document-preview/hightlights.ts DELETED
@@ -1,89 +0,0 @@
1
- export const testHighlights = [
2
- {
3
- content: {
4
- text: '实验证明,由氧氯化锆锂和高镍三元正极组成的全固态锂电池展示了极为优异的性能:在12 分钟快速充电的条件下,该电池仍然成功地在室温稳定循环2000 圈以上。',
5
- },
6
- position: {
7
- boundingRect: {
8
- x1: 219.7,
9
- // x1: 419.7,
10
- y1: 204.3,
11
- // y1: 304.3,
12
- x2: 547.0,
13
- // x2: 747.0,
14
- y2: 264.0,
15
- // y2: 364.0,
16
- },
17
- rects: [
18
- // {
19
- // x1: 219.7,
20
- // // x1: 419.7,
21
- // y1: 204.3,
22
- // // y1: 304.3,
23
- // x2: 547.0,
24
- // // x2: 747.0,
25
- // y2: 264.0,
26
- // // y2: 364.0,
27
- // width: 849,
28
- // height: 1200,
29
- // },
30
- ],
31
- pageNumber: 9,
32
- },
33
- comment: {
34
- text: 'Flow or TypeScript?',
35
- emoji: '🔥',
36
- },
37
- id: 'jsdlihdkghergjl',
38
- },
39
- {
40
- content: {
41
- text: '图2:乘联会预计6 月新能源乘用车厂商批发销量74 万辆,环比增长10%,同比增长30%。',
42
- },
43
- position: {
44
- boundingRect: {
45
- x1: 219.0,
46
- x2: 546.0,
47
- y1: 616.0,
48
- y2: 674.7,
49
- },
50
- rects: [],
51
- pageNumber: 6,
52
- },
53
- comment: {
54
- text: 'Flow or TypeScript?',
55
- emoji: '🔥',
56
- },
57
- id: 'bfdbtymkhjildbfghserrgrt',
58
- },
59
- {
60
- content: {
61
- text: '图2:乘联会预计6 月新能源乘用车厂商批发销量74 万辆,环比增长10%,同比增长30%。',
62
- },
63
- position: {
64
- boundingRect: {
65
- x1: 73.7,
66
- x2: 391.7,
67
- y1: 570.3,
68
- y2: 676.3,
69
- },
70
- rects: [],
71
- pageNumber: 1,
72
- },
73
- comment: {
74
- text: '',
75
- emoji: '',
76
- },
77
- id: 'fgnhxdvsesgmghyu',
78
- },
79
- ].map((x) => {
80
- const boundingRect = x.position.boundingRect;
81
- const ret: any = {
82
- width: 849,
83
- height: 1200,
84
- };
85
- Object.entries(boundingRect).forEach(([key, value]) => {
86
- ret[key] = value / 0.7;
87
- });
88
- return { ...x, position: { ...x.position, boundingRect: ret, rects: [ret] } };
89
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
web/src/pages/add-knowledge/components/knowledge-chunk/components/document-preview/index.tsx DELETED
@@ -1,59 +0,0 @@
1
- import { useGetKnowledgeSearchParams } from '@/hooks/knowledgeHook';
2
- import { api_host } from '@/utils/api';
3
- import { useMemo, useState } from 'react';
4
- import { Document, Page, pdfjs } from 'react-pdf';
5
-
6
- import 'react-pdf/dist/esm/Page/AnnotationLayer.css';
7
- import 'react-pdf/dist/esm/Page/TextLayer.css';
8
- import { useDocumentResizeObserver, useHighlightText } from './hooks';
9
-
10
- import { Spin } from 'antd';
11
- import { useGetSelectedChunk } from '../../hooks';
12
- import styles from './index.less';
13
-
14
- pdfjs.GlobalWorkerOptions.workerSrc = new URL(
15
- 'pdfjs-dist/build/pdf.worker.min.js',
16
- import.meta.url,
17
- ).toString();
18
-
19
- interface IProps {
20
- selectedChunkId: string;
21
- }
22
-
23
- const DocumentPreview = ({ selectedChunkId }: IProps) => {
24
- const [numPages, setNumPages] = useState<number>();
25
- const { documentId } = useGetKnowledgeSearchParams();
26
- const { containerWidth, setContainerRef } = useDocumentResizeObserver();
27
- const selectedChunk = useGetSelectedChunk(selectedChunkId);
28
- console.info(selectedChunk?.content_with_weight);
29
- const textRenderer = useHighlightText(selectedChunk?.content_with_weight);
30
-
31
- function onDocumentLoadSuccess({ numPages }: { numPages: number }): void {
32
- setNumPages(numPages);
33
- }
34
-
35
- const url = useMemo(() => {
36
- return `${api_host}/document/get/${documentId}`;
37
- }, [documentId]);
38
-
39
- return (
40
- <div ref={setContainerRef} className={styles.documentContainer}>
41
- <Document
42
- file={url}
43
- onLoadSuccess={onDocumentLoadSuccess}
44
- loading={<Spin></Spin>}
45
- >
46
- {Array.from(new Array(numPages), (el, index) => (
47
- <Page
48
- key={`page_${index + 1}`}
49
- pageNumber={index + 1}
50
- width={containerWidth}
51
- customTextRenderer={textRenderer}
52
- />
53
- ))}
54
- </Document>
55
- </div>
56
- );
57
- };
58
-
59
- export default DocumentPreview;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
web/src/pages/add-knowledge/components/knowledge-chunk/components/document-preview/preview.tsx CHANGED
@@ -1,15 +1,14 @@
1
- import { Spin } from 'antd';
2
  import { useEffect, useRef } from 'react';
3
  import {
4
  AreaHighlight,
5
  Highlight,
6
- NewHighlight,
7
  PdfHighlighter,
8
  PdfLoader,
9
  Popup,
10
- Tip,
11
  } from 'react-pdf-highlighter';
12
- import { useGetChunkHighlights, useGetSelectedChunk } from '../../hooks';
13
  import { useGetDocumentUrl } from './hooks';
14
 
15
  import styles from './index.less';
@@ -18,8 +17,6 @@ interface IProps {
18
  selectedChunkId: string;
19
  }
20
 
21
- const getNextId = () => String(Math.random()).slice(2);
22
-
23
  const HighlightPopup = ({
24
  comment,
25
  }: {
@@ -33,70 +30,10 @@ const HighlightPopup = ({
33
 
34
  const Preview = ({ selectedChunkId }: IProps) => {
35
  const url = useGetDocumentUrl();
36
- const selectedChunk = useGetSelectedChunk(selectedChunkId);
37
-
38
- // const [state, setState] = useState<any>(testHighlights);
39
  const state = useGetChunkHighlights(selectedChunkId);
 
40
 
41
- const ref = useRef((highlight: any) => {});
42
-
43
- const parseIdFromHash = () =>
44
- document.location.hash.slice('#highlight-'.length);
45
-
46
- const resetHash = () => {
47
- document.location.hash = '';
48
- };
49
-
50
- const getHighlightById = (id: string) => {
51
- const highlights = state;
52
-
53
- return highlights.find((highlight: any) => highlight.id === id);
54
- };
55
-
56
- // let scrollViewerTo = (highlight: any) => {};
57
-
58
- let scrollToHighlightFromHash = () => {
59
- const highlight = getHighlightById(parseIdFromHash());
60
-
61
- if (highlight) {
62
- ref.current(highlight);
63
- }
64
- };
65
-
66
- const addHighlight = (highlight: NewHighlight) => {
67
- const highlights = state;
68
-
69
- console.log('Saving highlight', highlight);
70
-
71
- // setState([{ ...highlight, id: getNextId() }, ...highlights]);
72
- };
73
-
74
- const updateHighlight = (
75
- highlightId: string,
76
- position: Object,
77
- content: Object,
78
- ) => {
79
- console.log('Updating highlight', highlightId, position, content);
80
-
81
- // setState(
82
- // state.map((h: any) => {
83
- // const {
84
- // id,
85
- // position: originalPosition,
86
- // content: originalContent,
87
- // ...rest
88
- // } = h;
89
- // return id === highlightId
90
- // ? {
91
- // id,
92
- // position: { ...originalPosition, ...position },
93
- // content: { ...originalContent, ...content },
94
- // ...rest,
95
- // }
96
- // : h;
97
- // }),
98
- // );
99
- };
100
 
101
  useEffect(() => {
102
  if (state.length > 0) {
@@ -106,35 +43,16 @@ const Preview = ({ selectedChunkId }: IProps) => {
106
 
107
  return (
108
  <div className={styles.documentContainer}>
109
- <PdfLoader url={url} beforeLoad={<Spin />}>
110
  {(pdfDocument) => (
111
  <PdfHighlighter
112
  pdfDocument={pdfDocument}
113
  enableAreaSelection={(event) => event.altKey}
114
  onScrollChange={resetHash}
115
- // pdfScaleValue="page-width"
116
-
117
  scrollRef={(scrollTo) => {
118
- // scrollViewerTo = scrollTo;
119
  ref.current = scrollTo;
120
-
121
- scrollToHighlightFromHash();
122
  }}
123
- onSelectionFinished={(
124
- position,
125
- content,
126
- hideTipAndSelection,
127
- transformSelection,
128
- ) => (
129
- <Tip
130
- onOpen={transformSelection}
131
- onConfirm={(comment) => {
132
- addHighlight({ content, position, comment });
133
-
134
- hideTipAndSelection();
135
- }}
136
- />
137
- )}
138
  highlightTransform={(
139
  highlight,
140
  index,
@@ -158,13 +76,7 @@ const Preview = ({ selectedChunkId }: IProps) => {
158
  <AreaHighlight
159
  isScrolledTo={isScrolledTo}
160
  highlight={highlight}
161
- onChange={(boundingRect) => {
162
- updateHighlight(
163
- highlight.id,
164
- { boundingRect: viewportToScaled(boundingRect) },
165
- { image: screenshot(boundingRect) },
166
- );
167
- }}
168
  />
169
  );
170
 
@@ -172,7 +84,7 @@ const Preview = ({ selectedChunkId }: IProps) => {
172
  <Popup
173
  popupContent={<HighlightPopup {...highlight} />}
174
  onMouseOver={(popupContent) =>
175
- setTip(highlight, (highlight: any) => popupContent)
176
  }
177
  onMouseOut={hideTip}
178
  key={index}
 
1
+ import { Skeleton } from 'antd';
2
  import { useEffect, useRef } from 'react';
3
  import {
4
  AreaHighlight,
5
  Highlight,
6
+ IHighlight,
7
  PdfHighlighter,
8
  PdfLoader,
9
  Popup,
 
10
  } from 'react-pdf-highlighter';
11
+ import { useGetChunkHighlights } from '../../hooks';
12
  import { useGetDocumentUrl } from './hooks';
13
 
14
  import styles from './index.less';
 
17
  selectedChunkId: string;
18
  }
19
 
 
 
20
  const HighlightPopup = ({
21
  comment,
22
  }: {
 
30
 
31
  const Preview = ({ selectedChunkId }: IProps) => {
32
  const url = useGetDocumentUrl();
 
 
 
33
  const state = useGetChunkHighlights(selectedChunkId);
34
+ const ref = useRef<(highlight: IHighlight) => void>(() => {});
35
 
36
+ const resetHash = () => {};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
  useEffect(() => {
39
  if (state.length > 0) {
 
43
 
44
  return (
45
  <div className={styles.documentContainer}>
46
+ <PdfLoader url={url} beforeLoad={<Skeleton active />}>
47
  {(pdfDocument) => (
48
  <PdfHighlighter
49
  pdfDocument={pdfDocument}
50
  enableAreaSelection={(event) => event.altKey}
51
  onScrollChange={resetHash}
 
 
52
  scrollRef={(scrollTo) => {
 
53
  ref.current = scrollTo;
 
 
54
  }}
55
+ onSelectionFinished={() => null}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  highlightTransform={(
57
  highlight,
58
  index,
 
76
  <AreaHighlight
77
  isScrolledTo={isScrolledTo}
78
  highlight={highlight}
79
+ onChange={() => {}}
 
 
 
 
 
 
80
  />
81
  );
82
 
 
84
  <Popup
85
  popupContent={<HighlightPopup {...highlight} />}
86
  onMouseOver={(popupContent) =>
87
+ setTip(highlight, () => popupContent)
88
  }
89
  onMouseOut={hideTip}
90
  key={index}
web/src/pages/add-knowledge/components/knowledge-file/index.tsx CHANGED
@@ -288,7 +288,7 @@ const KnowledgeFile = () => {
288
  dataSource={data}
289
  loading={loading}
290
  pagination={pagination}
291
- scroll={{ scrollToFirstRowOnChange: true, x: true, y: 'fill' }}
292
  />
293
  <CreateEPModal getKfList={getKfList} kb_id={knowledgeBaseId} />
294
  <SegmentSetModal
 
288
  dataSource={data}
289
  loading={loading}
290
  pagination={pagination}
291
+ scroll={{ scrollToFirstRowOnChange: true, x: 1300, y: 'fill' }}
292
  />
293
  <CreateEPModal getKfList={getKfList} kb_id={knowledgeBaseId} />
294
  <SegmentSetModal
web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.less CHANGED
@@ -1,5 +1,17 @@
1
- .popover-content {
2
- width: 300px;
 
 
 
 
 
 
 
 
 
 
 
 
3
  }
4
 
5
  .operationIcon {
 
1
+ .popoverContent {
2
+ width: 40vw;
3
+
4
+ .popoverContentItem {
5
+ display: flex;
6
+ gap: 10px;
7
+ }
8
+
9
+ .popoverContentText {
10
+ white-space: pre-line;
11
+ .popoverContentErrorLabel {
12
+ color: red;
13
+ }
14
+ }
15
  }
16
 
17
  .operationIcon {
web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx CHANGED
@@ -1,11 +1,11 @@
1
  import { ReactComponent as RefreshIcon } from '@/assets/svg/refresh.svg';
2
  import { ReactComponent as RunIcon } from '@/assets/svg/run.svg';
3
  import { IKnowledgeFile } from '@/interfaces/database/knowledge';
4
- import { Badge, DescriptionsProps, Flex, Popover, Space, Tag } from 'antd';
5
- import { RunningStatus, RunningStatusMap } from '../constant';
6
-
7
  import { CloseCircleOutlined } from '@ant-design/icons';
 
 
8
  import { useDispatch } from 'umi';
 
9
  import styles from './index.less';
10
 
11
  const iconMap = {
@@ -35,17 +35,27 @@ const PopoverContent = ({ record }: IProps) => {
35
  {
36
  key: 'progress_msg',
37
  label: 'Progress Msg',
38
- children: record.progress_msg,
 
 
 
 
 
 
 
 
 
 
39
  },
40
  ];
41
 
42
  return (
43
- <Flex vertical className={styles['popover-content']}>
44
- {items.map((x) => {
45
  return (
46
- <div key={x.key}>
47
  <b>{x.label}:</b>
48
- <p>{x.children}</p>
49
  </div>
50
  );
51
  })}
 
1
  import { ReactComponent as RefreshIcon } from '@/assets/svg/refresh.svg';
2
  import { ReactComponent as RunIcon } from '@/assets/svg/run.svg';
3
  import { IKnowledgeFile } from '@/interfaces/database/knowledge';
 
 
 
4
  import { CloseCircleOutlined } from '@ant-design/icons';
5
+ import { Badge, DescriptionsProps, Flex, Popover, Space, Tag } from 'antd';
6
+ import reactStringReplace from 'react-string-replace';
7
  import { useDispatch } from 'umi';
8
+ import { RunningStatus, RunningStatusMap } from '../constant';
9
  import styles from './index.less';
10
 
11
  const iconMap = {
 
35
  {
36
  key: 'progress_msg',
37
  label: 'Progress Msg',
38
+ children: reactStringReplace(
39
+ record.progress_msg.trim(),
40
+ /(\[ERROR\].+\s)/g,
41
+ (match, i) => {
42
+ return (
43
+ <span key={i} className={styles.popoverContentErrorLabel}>
44
+ {match}
45
+ </span>
46
+ );
47
+ },
48
+ ),
49
  },
50
  ];
51
 
52
  return (
53
+ <Flex vertical className={styles.popoverContent}>
54
+ {items.map((x, idx) => {
55
  return (
56
+ <div key={x.key} className={idx < 2 ? styles.popoverContentItem : ''}>
57
  <b>{x.label}:</b>
58
+ <div className={styles.popoverContentText}>{x.children}</div>
59
  </div>
60
  );
61
  })}
web/src/pages/add-knowledge/index.less CHANGED
@@ -1,6 +1,7 @@
1
  .container {
2
  display: flex;
3
  height: 100%;
 
4
  .contentWrapper {
5
  flex: 1;
6
  overflow-x: auto;
 
1
  .container {
2
  display: flex;
3
  height: 100%;
4
+ width: 100%;
5
  .contentWrapper {
6
  flex: 1;
7
  overflow-x: auto;
web/src/pages/knowledge/index.less CHANGED
@@ -1,14 +1,14 @@
1
  // @import '~@/less/variable.less';
2
 
3
  .knowledge {
4
- padding: 48px 60px;
5
  }
6
 
7
  .topWrapper {
8
  display: flex;
9
  justify-content: space-between;
10
  align-items: flex-start;
11
- padding-bottom: 72px;
12
 
13
  .title {
14
  font-family: Inter;
@@ -41,3 +41,7 @@
41
  .topButton();
42
  }
43
  }
 
 
 
 
 
1
  // @import '~@/less/variable.less';
2
 
3
  .knowledge {
4
+ padding: 48px 0;
5
  }
6
 
7
  .topWrapper {
8
  display: flex;
9
  justify-content: space-between;
10
  align-items: flex-start;
11
+ padding: 0 60px 72px;
12
 
13
  .title {
14
  font-family: Inter;
 
41
  .topButton();
42
  }
43
  }
44
+ .knowledgeCardContainer {
45
+ padding: 0 60px;
46
+ overflow: auto;
47
+ }
web/src/pages/knowledge/index.tsx CHANGED
@@ -1,21 +1,25 @@
1
  import { ReactComponent as FilterIcon } from '@/assets/filter.svg';
2
  import ModalManager from '@/components/modal-manager';
3
  import { PlusOutlined } from '@ant-design/icons';
4
- import { Button, Flex, Space } from 'antd';
5
  import KnowledgeCard from './knowledge-card';
6
  import KnowledgeCreatingModal from './knowledge-creating-modal';
7
 
8
  import { useFetchKnowledgeList } from '@/hooks/knowledgeHook';
 
9
  import styles from './index.less';
10
 
11
  const Knowledge = () => {
12
- const data = useFetchKnowledgeList();
 
13
 
14
  return (
15
- <div className={styles.knowledge}>
16
  <div className={styles.topWrapper}>
17
  <div>
18
- <span className={styles.title}>Welcome back, Zing</span>
 
 
19
  <p className={styles.description}>
20
  Which database are we going to use today?
21
  </p>
@@ -46,12 +50,22 @@ const Knowledge = () => {
46
  </ModalManager>
47
  </Space>
48
  </div>
49
- <Flex gap="large" wrap="wrap">
50
- {data.map((item: any) => {
51
- return <KnowledgeCard item={item} key={item.name}></KnowledgeCard>;
52
- })}
 
 
 
 
 
 
 
 
 
 
53
  </Flex>
54
- </div>
55
  );
56
  };
57
 
 
1
  import { ReactComponent as FilterIcon } from '@/assets/filter.svg';
2
  import ModalManager from '@/components/modal-manager';
3
  import { PlusOutlined } from '@ant-design/icons';
4
+ import { Button, Empty, Flex, Space } from 'antd';
5
  import KnowledgeCard from './knowledge-card';
6
  import KnowledgeCreatingModal from './knowledge-creating-modal';
7
 
8
  import { useFetchKnowledgeList } from '@/hooks/knowledgeHook';
9
+ import { useSelectUserInfo } from '@/hooks/userSettingHook';
10
  import styles from './index.less';
11
 
12
  const Knowledge = () => {
13
+ const list = useFetchKnowledgeList();
14
+ const userInfo = useSelectUserInfo();
15
 
16
  return (
17
+ <Flex className={styles.knowledge} vertical flex={1}>
18
  <div className={styles.topWrapper}>
19
  <div>
20
+ <span className={styles.title}>
21
+ Welcome back, {userInfo.nickname}
22
+ </span>
23
  <p className={styles.description}>
24
  Which database are we going to use today?
25
  </p>
 
50
  </ModalManager>
51
  </Space>
52
  </div>
53
+ <Flex
54
+ gap="large"
55
+ wrap="wrap"
56
+ flex={1}
57
+ // justify="center"
58
+ className={styles.knowledgeCardContainer}
59
+ >
60
+ {list.length > 0 ? (
61
+ list.map((item: any) => {
62
+ return <KnowledgeCard item={item} key={item.name}></KnowledgeCard>;
63
+ })
64
+ ) : (
65
+ <Empty></Empty>
66
+ )}
67
  </Flex>
68
+ </Flex>
69
  );
70
  };
71