Files.Client: Home: Added canWebEdit and canConvert selectors

This commit is contained in:
Ilya Oleshko 2020-03-05 15:19:01 +03:00
parent da4bd0cb9b
commit a5e8fe5b7c
2 changed files with 17 additions and 4 deletions

View File

@ -5,6 +5,7 @@ import { withRouter } from "react-router";
import styled from "styled-components";
import { RowContent, Link, Text, Icons, Badge, TextInput, Button } from "asc-web-components";
import { renameFolder, updateFile } from '../../../../../store/files/actions';
import { canWebEdit, canConvert } from '../../../../../store/files/selectors';
class FilesRowContent extends React.PureComponent {
@ -125,8 +126,8 @@ class FilesRowContent extends React.PureComponent {
const fileOwner = (this.props.viewer.id === createdBy.id && "Me") || createdBy.displayName;
const createdDate = new Date(created).toLocaleString("EN-US");
const notConverted = ['.pdf', '.zip', '.mp3', '.mp4'];
const canEdit = fileExst && notConverted.includes(fileExst) ? false : true;
const canEditFile = fileExst && canWebEdit(fileExst);
const canConvertFile = fileExst && canConvert(fileExst);
const okIcon = <Icons.CheckIcon
className='edit-ok-icon'
@ -200,7 +201,7 @@ class FilesRowContent extends React.PureComponent {
>
{fileExst}
</Text>
{fileStatus === 4 &&
{canConvertFile &&
<Icons.FileActionsConvertIcon
className='badge'
size='small'
@ -208,7 +209,7 @@ class FilesRowContent extends React.PureComponent {
color='#A3A9AE'
/>
}
{canEdit &&
{canEditFile &&
<Icons.AccessEditIcon
className='badge'
size='small'

View File

@ -51,3 +51,15 @@ export const setTreeFilter = (filter, rootFolders) => {
}
return newFilter;
};
export const canWebEdit = fileExst => {
const editedDocs = ['.pptx', '.pptm', '.ppt', '.ppsx', '.ppsm', '.pps', '.potx', '.potm', '.pot', '.odp', '.fodp', '.otp', '.xlsx', '.xlsm', '.xls', '.xltx', '.xltm', '.xlt', '.ods', '.fods', '.ots', '.csv', '.docx', '.docm', '.doc', '.dotx', '.dotm', '.dot', '.odt', '.fodt', '.ott', '.txt', '.rtf', '.mht', '.html', '.htm'];
const result = editedDocs.findIndex(item => item === fileExst);
return result === -1 ? false : true;
}
export const canConvert = fileExst => {
const convertedDocs = ['.pptm','.ppt','.ppsm','.pps','.potx','.potm','.pot','.odp','.fodp','.otp','.xlsm','.xls','.xltx','.xltm','.xlt','.ods','.fods','.ots','.docm','.doc','.dotx','.dotm','.dot','.odt','.fodt','.ott','.rtf'];
const result = convertedDocs.findIndex(item => item === fileExst);
return result === -1 ? false : true;
}