Merge pull request !394 from ZoeLeeFZ/showFileSize
pull/394/MERGE
ZoeLeeFZ 5 years ago committed by ChenX
parent c4f78e5c43
commit cde69a2183

@ -1,11 +1,12 @@
import { Button, Card, Checkbox, Classes, ContextMenu, Intent, Menu, MenuItem, Popover, Position } from '@blueprintjs/core';
import { IObservableValue } from 'mobx';
import { IObservableValue, observable } from 'mobx';
import { inject, observer } from 'mobx-react';
import * as React from 'react';
import { CURRENT_HOST } from '../../../Common/HostUrl';
import { MouseKey } from '../../../Common/KeyEnum';
import { FileServer } from '../../../DatabaseServices/FileServer';
import { TopPanelStore } from '../../Store/TopPanelStore';
import { FixedNotZero } from '../../../Common/Utils';
export interface IFileListProps
{
@ -16,9 +17,23 @@ export interface IFileListProps
isRename: IObservableValue<boolean>;
info: { fid: string, name: string };
}
function getFileSize(size: number)
{
let units = ["B", "KB", "MB", "GB"];
for (let u of units)
{
if (size > 1 && size < 1024)
return FixedNotZero(size, 2) + u;
else
size /= 1024;
}
}
@inject('store')
@observer
export class FileList extends React.Component<IFileListProps, {}> {
@observable isShowSize = false;
handleOpenFile = async (fid: string) =>
{
let server = FileServer.GetInstance() as FileServer;
@ -63,6 +78,7 @@ export class FileList extends React.Component<IFileListProps, {}> {
public render()
{
return (
<>
<ul
className="mat-list"
>
@ -79,6 +95,15 @@ export class FileList extends React.Component<IFileListProps, {}> {
>
<img src={`${CURRENT_HOST}/${file.logo}`} />
</div>
{
this.isShowSize &&
<div style={{
position: "absolute",
left: 5,
bottom: 60,
background: "#fff"
}}>{getFileSize(parseFloat(file.size))}</div>
}
<p style={{ padding: "5px 0" }} title={file.name}>
{file.name}
<div className="flex-center" style={{
@ -132,6 +157,13 @@ export class FileList extends React.Component<IFileListProps, {}> {
})
}
</ul>
<Checkbox
checked={this.isShowSize}
style={{ position: "absolute", left: 20, bottom: 50 }}
label="显示文件大小"
onChange={() => this.isShowSize = !this.isShowSize}
/>
</>
);
}
}

Loading…
Cancel
Save