Browse Source

Add renderProperties()

HEAD
Yang Luo 3 years ago
parent
commit
d2e1dcb414
6 changed files with 106 additions and 75 deletions
  1. +1
    -1
      web/package.json
  2. +39
    -3
      web/src/FileTree.js
  3. +1
    -1
      web/src/index.css
  4. +6
    -0
      web/src/locales/en/data.json
  5. +6
    -0
      web/src/locales/zh/data.json
  6. +53
    -70
      web/yarn.lock

+ 1
- 1
web/package.json View File

@@ -6,7 +6,7 @@
"@ant-design/icons": "4.6.2",
"@craco/craco": "6.4.5",
"aliplayer-react": "^0.7.0",
"antd": "4.16.0",
"antd": "4.15.5",
"casdoor-js-sdk": "^0.2.7",
"codemirror": "^5.61.1",
"copy-to-clipboard": "^3.3.1",


+ 39
- 3
web/src/FileTree.js View File

@@ -1,5 +1,5 @@
import React from "react";
import {Button, Col, Empty, Input, Popconfirm, Row, Spin, Tooltip, Tree, Upload} from 'antd';
import {Button, Col, Descriptions, Empty, Input, Popconfirm, Row, Spin, Tooltip, Tree, Upload} from 'antd';
import {CloudUploadOutlined, createFromIconfontCN, DeleteOutlined, DownloadOutlined, FileDoneOutlined, FolderAddOutlined} from "@ant-design/icons";
import * as Setting from "./Setting";
import * as FileBackend from "./backend/FileBackend";
@@ -62,6 +62,7 @@ class FileTree extends React.Component {
gData: defaultData,
expandedKeys: ['0-0', '0-0-0', '0-0-0-0'],
selectedKeys: [],
selectedFile: null,
loading: false,
text: null,
newFolder: null,
@@ -331,6 +332,7 @@ class FileTree extends React.Component {

this.setState({
selectedKeys: selectedKeys,
selectedFile: info.node,
});
};

@@ -577,7 +579,8 @@ class FileTree extends React.Component {
// https://github.com/Alcumus/react-doc-viewer
return (
<DocViewer
style={{height: "calc(100vh - 154px)"}}
key={path}
style={{height: "calc(100vh - 233px)"}}
pluginRenderers={DocViewerRenderers}
documents={[{uri: url}]}
theme={{
@@ -603,6 +606,7 @@ class FileTree extends React.Component {
return (
<a target="_blank" rel="noreferrer" href={url}>
<FileViewer
key={path}
fileType={ext}
filePath={url}
errorComponent={<div>error</div>}
@@ -625,6 +629,7 @@ class FileTree extends React.Component {
return (
<div>
<CodeMirror
key={path}
value={this.state.text}
// options={{mode: "javascript", theme: "material-darker"}}
onBeforeChange={(editor, data, value) => {}}
@@ -634,6 +639,32 @@ class FileTree extends React.Component {
}
}

renderProperties() {
const file = this.state.selectedFile;
if (file === null) {
return null;
}

return (
<Descriptions
bordered
// title="Custom Size"
size="small"
// extra={<Button type="primary">Edit</Button>}
>
<Descriptions.Item label={i18next.t("vectorset:File name")}>{file.title}</Descriptions.Item>
<Descriptions.Item label={i18next.t("vectorset:File size")}>{Setting.getFriendlyFileSize(file.size)}</Descriptions.Item>
<Descriptions.Item label={i18next.t("store:Modified time")}>{Setting.getFormattedDate(file.modifiedTime)}</Descriptions.Item>
<Descriptions.Item label={i18next.t("store:File type")}>{file.title.split('.')[1]}</Descriptions.Item>
<Descriptions.Item label={i18next.t("store:Path")}>{file.key}</Descriptions.Item>
<Descriptions.Item label={i18next.t("store:Is leaf")}>{
file.isLeaf ? i18next.t("store:True") :
i18next.t("store:False")
}</Descriptions.Item>
</Descriptions>
)
}

render() {
return (
<div style={{backgroundColor: "rgb(232,232,232)"}}>
@@ -644,8 +675,13 @@ class FileTree extends React.Component {
}
</Col>
<Col span={16}>
<div style={{height: "calc(100vh - 233px)"}}>
{
this.renderFileViewer(this.props.store)
}
</div>
{
this.renderFileViewer(this.props.store)
this.renderProperties()
}
</Col>
</Row>


+ 1
- 1
web/src/index.css View File

@@ -84,7 +84,7 @@ code {
}

.react-codemirror2 {
height: calc(100vh - 154px)
height: calc(100vh - 233px)
}

.anticon-file {


+ 6
- 0
web/src/locales/en/data.json View File

@@ -37,11 +37,17 @@
"Domain": "Domain",
"Download": "Download",
"Edit Store": "Edit Store",
"False": "False",
"File tree": "File tree",
"File type": "File type",
"Is leaf": "Is leaf",
"Modified time": "Modified time",
"Move": "Move",
"New folder": "New folder",
"Path": "Path",
"Rename": "Rename",
"Sorry, you are unauthorized to access this file": "Sorry, you are unauthorized to access this file",
"True": "True",
"Upload file": "Upload file"
},
"vectorset": {


+ 6
- 0
web/src/locales/zh/data.json View File

@@ -37,11 +37,17 @@
"Domain": "域名",
"Download": "下载",
"Edit Store": "编辑数据仓库",
"False": "否",
"File tree": "文件",
"File type": "文件类型",
"Is leaf": "是否是文件",
"Modified time": "修改时间",
"Move": "移动",
"New folder": "新建文件夹",
"Path": "路径",
"Rename": "重命名",
"Sorry, you are unauthorized to access this file": "抱歉,您无权访问该文件",
"True": "是",
"Upload file": "上传文件"
},
"vectorset": {


+ 53
- 70
web/yarn.lock View File

@@ -2577,10 +2577,10 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
antd@4.16.0:
version "4.16.0"
resolved "https://registry.yarnpkg.com/antd/-/antd-4.16.0.tgz#35b03f42a0710edd2153f3fd33f8f93298b12bc7"
integrity sha512-wJU0CQdbpBTD8SGI8ksBifIdjORkNk5pHYVyuiQ20KquDdpzsfBOvsd3ZeluBxgt5XPobVxv+YYUAuDchfiHnQ==
antd@4.15.5:
version "4.15.5"
resolved "https://registry.yarnpkg.com/antd/-/antd-4.15.5.tgz#c54bf3a8a7e537c57395165b47c6caa4f9ea4860"
integrity sha512-zpdwZmdxZfSCVq6t329jXzq4oHZDDrMsD3L/bNilBJz9Y8yJZ0b4wGrWK7TSRipP2KcUB5Udm+bmfv2RBuzzNA==
dependencies:
"@ant-design/colors" "^6.0.0"
"@ant-design/icons" "^4.6.2"
@@ -2600,8 +2600,8 @@ antd@4.16.0:
rc-field-form "~1.20.0"
rc-image "~5.2.4"
rc-input-number "~7.1.0"
rc-mentions "~1.6.1"
rc-menu "~9.0.0"
rc-mentions "~1.5.0"
rc-menu "~8.10.0"
rc-motion "^2.4.0"
rc-notification "~4.5.2"
rc-pagination "~3.1.6"
@@ -2613,15 +2613,15 @@ antd@4.16.0:
rc-slider "~9.7.1"
rc-steps "~4.1.0"
rc-switch "~3.2.0"
rc-table "~7.15.1"
rc-tabs "~11.9.1"
rc-table "~7.13.0"
rc-tabs "~11.7.0"
rc-textarea "~0.3.0"
rc-tooltip "~5.1.1"
rc-tree "~4.1.0"
rc-tree-select "~4.3.0"
rc-trigger "^5.2.1"
rc-upload "~4.3.0"
rc-util "^5.13.1"
rc-upload "~4.2.0-alpha.0"
rc-util "^5.9.4"
scroll-into-view-if-needed "^2.2.25"
warning "^4.0.3"
@@ -5211,7 +5211,7 @@ history@^4.9.0:
tiny-warning "^1.0.0"
value-equal "^1.0.1"
hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0:
hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -6732,6 +6732,14 @@ mini-css-extract-plugin@^2.4.5:
dependencies:
schema-utils "^4.0.0"
mini-store@^3.0.1:
version "3.0.6"
resolved "https://registry.yarnpkg.com/mini-store/-/mini-store-3.0.6.tgz#44b86be5b2877271224ce0689b3a35a2dffb1ca9"
integrity sha512-YzffKHbYsMQGUWQRKdsearR79QsMzzJcDDmZKlJBqt5JNkqpyJHYlK6gP61O36X+sLf76sO9G6mhKBe83gIZIQ==
dependencies:
hoist-non-react-statics "^3.3.2"
shallowequal "^1.0.2"
minimalistic-assert@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -8080,7 +8088,7 @@ rc-drawer@~4.3.0:
classnames "^2.2.6"
rc-util "^5.7.0"
rc-dropdown@^3.2.0:
rc-dropdown@^3.1.3:
version "3.6.2"
resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.6.2.tgz#d23b8b2762941ac39e665673946f67ca9c39118f"
integrity sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw==
@@ -8127,58 +8135,33 @@ rc-input-number@~7.1.0:
classnames "^2.2.5"
rc-util "^5.9.8"
rc-mentions@~1.6.1:
version "1.6.5"
resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.6.5.tgz#d9516abd19a757c674df1c88a3459628fe95a149"
integrity sha512-CUU4+q+awG2pA0l/tG2kPB2ytWbKQUkFxVeKwacr63w7crE/yjfzrFXxs/1fxhyEbQUWdAZt/L25QBieukYQ5w==
rc-mentions@~1.5.0:
version "1.5.3"
resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.5.3.tgz#b92bebadf8ad9fb3586ba1af922d63b49d991c67"
integrity sha512-NG/KB8YiKBCJPHHvr/QapAb4f9YzLJn7kDHtmI1K6t7ZMM5YgrjIxNNhoRKKP9zJvb9PdPts69Hbg4ZMvLVIFQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.6"
rc-menu "~9.3.2"
rc-menu "^8.0.1"
rc-textarea "^0.3.0"
rc-trigger "^5.0.4"
rc-util "^5.0.1"
rc-menu@^9.0.0:
version "9.6.0"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.6.0.tgz#3263a729a81ae49cfdadee112e97d3c702922829"
integrity sha512-d26waws42U/rVwW/+rOE2FN9pX6wUc9bDy38vVQYoie6gE85auWIpl5oChGlnW6nE2epnTwUsgWl8ipOPgmnUA==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
rc-motion "^2.4.3"
rc-overflow "^1.2.0"
rc-trigger "^5.1.2"
rc-util "^5.12.0"
shallowequal "^1.1.0"
rc-menu@~9.0.0:
version "9.0.14"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.0.14.tgz#289bda4a2f6c5ebb3248e2e305d52cf0c73cb9d5"
integrity sha512-CIox5mZeLDAi32SlHrV7UeSjv7tmJJhwRyxQtZCKt351w3q59XlL4WMFOmtT9gwIfP9h0XoxdBZUMe/xzkp78A==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
rc-motion "^2.4.3"
rc-overflow "^1.2.0"
rc-trigger "^5.1.2"
rc-util "^5.12.0"
shallowequal "^1.1.0"
rc-menu@~9.3.2:
version "9.3.2"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.3.2.tgz#bb842d37ebf71da912bea201cf7ef0a27267ad49"
integrity sha512-h3m45oY1INZyqphGELkdT0uiPnFzxkML8m0VMhJnk2fowtqfiT7F5tJLT3znEVaPIY80vMy1bClCkgq8U91CzQ==
rc-menu@^8.0.1, rc-menu@^8.6.1, rc-menu@~8.10.0:
version "8.10.8"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.10.8.tgz#c3eb2158b3983e42a67192babad9c8128755d26a"
integrity sha512-0gnSR0nmR/60NnK+72EGd+QheHyPSQ3wYg1TwX1zl0JJ9Gm0purFFykCXVv/G0Jynpt0QySPAos+bpHpjMZdoQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
rc-motion "^2.4.3"
rc-overflow "^1.2.0"
mini-store "^3.0.1"
rc-motion "^2.0.1"
rc-trigger "^5.1.2"
rc-util "^5.12.0"
rc-util "^5.7.0"
resize-observer-polyfill "^1.5.0"
shallowequal "^1.1.0"
rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.0, rc-motion@^2.4.3:
rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.6.0.tgz#c60c3e7f15257f55a8cd7794a539f0e2cc751399"
integrity sha512-1MDWA9+i174CZ0SIDenSYm2Wb9YbRkrexjZWR0CUFu7D6f23E8Y0KsTgk9NGOLJsGak5ELZK/Y5lOlf5wQdzbw==
@@ -8197,7 +8180,7 @@ rc-notification@~4.5.2:
rc-motion "^2.2.0"
rc-util "^5.0.1"
rc-overflow@^1.0.0, rc-overflow@^1.2.0:
rc-overflow@^1.0.0:
version "1.2.6"
resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.6.tgz#e99fabea04ce4fb13f0dd8835aef4e4cdd4c15a2"
integrity sha512-YqbocgzuQxfq2wZy72vdAgrgzzEuM/5d4gF9TBEodCpXPbUeXGrUXNm1J6G1MSkCU2N0ePIgCEu5qD/0Ldi63Q==
@@ -8298,26 +8281,26 @@ rc-switch@~3.2.0:
classnames "^2.2.1"
rc-util "^5.0.1"
rc-table@~7.15.1:
version "7.15.2"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.15.2.tgz#f6ab73b2cfb1c76f3cf9682c855561423c6b5b22"
integrity sha512-TAs7kCpIZwc2mtvD8CMrXSM6TqJDUsy0rUEV1YgRru33T8bjtAtc+9xW/KC1VWROJlHSpU0R0kXjFs9h/6+IzQ==
rc-table@~7.13.0:
version "7.13.3"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.13.3.tgz#25d5f5ec47ee2d8a293aff18c4c4b8876f78c22b"
integrity sha512-oP4fknjvKCZAaiDnvj+yzBaWcg+JYjkASbeWonU1BbrLcomkpKvMUgPODNEzg0QdXA9OGW0PO86h4goDSW06Kg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
rc-resize-observer "^1.0.0"
rc-util "^5.13.0"
rc-util "^5.4.0"
shallowequal "^1.1.0"
rc-tabs@~11.9.1:
version "11.9.1"
resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.9.1.tgz#5b2e74da9a276978c2172ef9a05ae8af14da74cb"
integrity sha512-CLNx3qaWnO8KBWPd+7r52Pfk0MoPyKtlr+2ltWq2I9iqAjd1nZu6iBpQP7wbWBwIomyeFNw/WjHdRN7VcX5Qtw==
rc-tabs@~11.7.0:
version "11.7.3"
resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.7.3.tgz#32a30e59c6992d60fb58115ba0bf2652b337ed43"
integrity sha512-5nd2NVss9TprPRV9r8N05SjQyAE7zDrLejxFLcbJ+BdLxSwnGnk3ws/Iq0smqKZUnPQC0XEvnpF3+zlllUUT2w==
dependencies:
"@babel/runtime" "^7.11.2"
classnames "2.x"
rc-dropdown "^3.2.0"
rc-menu "^9.0.0"
rc-dropdown "^3.1.3"
rc-menu "^8.6.1"
rc-resize-observer "^1.0.0"
rc-util "^5.5.0"
@@ -8392,16 +8375,16 @@ rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.1:
rc-motion "^2.0.0"
rc-util "^5.19.2"
rc-upload@~4.3.0:
version "4.3.4"
resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.4.tgz#83ff7d3867631c37adbfd72ea3d1fd7e97ca84af"
integrity sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==
rc-upload@~4.2.0-alpha.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.2.1.tgz#0360c971475ae5545ec8c21ec8ef1ba6d53b6570"
integrity sha512-ylCwyzKjCFpD2ZrTe49adxnyo/bJIhoydWRg9y6LwYM0eRT/GDYvkLauXR0MKWVVmCtp+x6pOjTXqd3b0Z3KzA==
dependencies:
"@babel/runtime" "^7.18.3"
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
rc-util "^5.2.0"
rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.5, rc-util@^5.0.6, rc-util@^5.12.0, rc-util@^5.13.0, rc-util@^5.13.1, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.21.0, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8:
rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.5, rc-util@^5.0.6, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.21.0, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8:
version "5.22.5"
resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.22.5.tgz#d4d6d886c5ecb6a2a51dde1840d780a2b70f5179"
integrity sha512-awD2TGMGU97OZftT2R3JwrHWjR8k/xIwqjwcivPskciweUdgXE7QsyXkBKVSBHXS+c17AWWMDWuKWsJSheQy8g==
@@ -9129,7 +9112,7 @@ setprototypeof@1.2.0:
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
shallowequal@^1.1.0:
shallowequal@^1.0.2, shallowequal@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==


Loading…
Cancel
Save