Client: added disabling the context menu, selecting a file/folder and info panel when edit index mode enable

This commit is contained in:
Dmitry Sychugov 2024-04-27 18:24:57 +05:00
parent f803ba930b
commit 6936cf92df
5 changed files with 41 additions and 10 deletions

View File

@ -41,10 +41,12 @@ export default inject(
settingsStore, settingsStore,
dialogsStore, dialogsStore,
infoPanelStore, infoPanelStore,
indexingStore,
}: { }: {
settingsStore: any; settingsStore: any;
dialogsStore: any; dialogsStore: any;
infoPanelStore: any; infoPanelStore: any;
indexingStore: any;
}) => { }) => {
const { const {
isDesktopClient: isDesktop, isDesktopClient: isDesktop,
@ -59,6 +61,8 @@ export default inject(
const { isVisible, isMobileHidden, setIsVisible, getCanDisplay } = const { isVisible, isMobileHidden, setIsVisible, getCanDisplay } =
infoPanelStore; infoPanelStore;
const { isIndexEditingMode } = indexingStore;
const { createRoomDialogVisible, invitePanelOptions } = dialogsStore; const { createRoomDialogVisible, invitePanelOptions } = dialogsStore;
const canDisplay = getCanDisplay(); const canDisplay = getCanDisplay();
@ -71,7 +75,7 @@ export default inject(
return { return {
isDesktop, isDesktop,
currentDeviceType, currentDeviceType,
isInfoPanelVisible: isVisible, isInfoPanelVisible: isVisible && !isIndexEditingMode,
isMobileHidden, isMobileHidden,
setIsInfoPanelVisible: setIsVisible, setIsInfoPanelVisible: setIsVisible,
canDisplay, canDisplay,

View File

@ -80,6 +80,14 @@ const StyledTableRow = styled(TableRow)`
border-right: 0; //for Safari border-right: 0; //for Safari
} }
${(props) =>
props.isIndexEditingMode &&
css`
.table-container_element {
display: flex !important;
}
`}
.table-container_cell:not(.table-container_element-wrapper) { .table-container_cell:not(.table-container_element-wrapper) {
height: auto; height: auto;
max-height: 48; max-height: 48;

View File

@ -136,6 +136,7 @@ const Table = ({
filterTotal, filterTotal,
isRooms, isRooms,
isTrashFolder, isTrashFolder,
isIndexEditingMode,
withPaging, withPaging,
columnStorageName, columnStorageName,
columnInfoPanelStorageName, columnInfoPanelStorageName,
@ -203,6 +204,7 @@ const Table = ({
item={item} item={item}
itemIndex={index} itemIndex={index}
index={index} index={index}
isIndexEditingMode={isIndexEditingMode}
setFirsElemChecked={setFirsElemChecked} setFirsElemChecked={setFirsElemChecked}
setHeaderBorder={setHeaderBorder} setHeaderBorder={setHeaderBorder}
theme={theme} theme={theme}
@ -226,6 +228,7 @@ const Table = ({
highlightFile.id, highlightFile.id,
highlightFile.isExst, highlightFile.isExst,
isTrashFolder, isTrashFolder,
isIndexEditingMode,
]); ]);
return ( return (
@ -266,6 +269,8 @@ export default inject(
tableStore, tableStore,
userStore, userStore,
settingsStore, settingsStore,
indexingStore,
}) => { }) => {
const { isVisible: infoPanelVisible } = infoPanelStore; const { isVisible: infoPanelVisible } = infoPanelStore;
@ -287,6 +292,8 @@ export default inject(
highlightFile, highlightFile,
} = filesStore; } = filesStore;
const { isIndexEditingMode } = indexingStore;
const { withPaging, theme, currentDeviceType } = settingsStore; const { withPaging, theme, currentDeviceType } = settingsStore;
return { return {
@ -303,6 +310,7 @@ export default inject(
filterTotal: isRooms ? roomsFilterTotal : filterTotal, filterTotal: isRooms ? roomsFilterTotal : filterTotal,
isRooms, isRooms,
isTrashFolder, isTrashFolder,
isIndexEditingMode,
withPaging, withPaging,
columnStorageName, columnStorageName,
columnInfoPanelStorageName, columnInfoPanelStorageName,

View File

@ -65,6 +65,7 @@ const FilesTableRow = (props) => {
id, id,
isRooms, isRooms,
isTrashFolder, isTrashFolder,
isIndexEditingMode,
isHighlight, isHighlight,
hideColumns, hideColumns,
onDragOver, onDragOver,
@ -140,6 +141,13 @@ const FilesTableRow = (props) => {
? `${item.id}_${item.fileExst}` ? `${item.id}_${item.fileExst}`
: item.id ?? ""; : item.id ?? "";
const contextOptionProps = isIndexEditingMode
? {}
: {
contextOptions: item.contextOptions,
getContextModel,
};
return ( return (
<StyledDragAndDrop <StyledDragAndDrop
id={id} id={id}
@ -163,16 +171,15 @@ const FilesTableRow = (props) => {
selectionProp={selectionProp} selectionProp={selectionProp}
key={item.id} key={item.id}
fileContextClick={fileContextClick} fileContextClick={fileContextClick}
onClick={onMouseClick} onClick={isIndexEditingMode ? () => {} : onMouseClick}
isActive={isActive} isActive={isActive}
isIndexEditingMode={isIndexEditingMode}
inProgress={inProgress} inProgress={inProgress}
isFolder={item.isFolder} isFolder={item.isFolder}
onHideContextMenu={onHideContextMenu} onHideContextMenu={onHideContextMenu}
isThirdPartyFolder={item.isThirdPartyFolder} isThirdPartyFolder={item.isThirdPartyFolder}
onDoubleClick={onDoubleClick} onDoubleClick={onDoubleClick}
checked={checkedProps} checked={checkedProps}
contextOptions={item.contextOptions}
getContextModel={getContextModel}
showHotkeyBorder={showHotkeyBorder} showHotkeyBorder={showHotkeyBorder}
title={ title={
item.isFolder item.isFolder
@ -184,6 +191,7 @@ const FilesTableRow = (props) => {
hideColumns={hideColumns} hideColumns={hideColumns}
badgeUrl={badgeUrl} badgeUrl={badgeUrl}
canDrag={canDrag} canDrag={canDrag}
{...contextOptionProps}
> >
{isRooms ? ( {isRooms ? (
<RoomsRowDataComponent <RoomsRowDataComponent

View File

@ -40,6 +40,7 @@ const FileNameCell = ({
theme, theme,
t, t,
inProgress, inProgress,
isIndexEditingMode,
}) => { }) => {
const { title, viewAccessibility } = item; const { title, viewAccessibility } = item;
@ -65,12 +66,14 @@ const FileNameCell = ({
> >
<div className="table-container_element-container"> <div className="table-container_element-container">
<div className="table-container_element">{element}</div> <div className="table-container_element">{element}</div>
<Checkbox {!isIndexEditingMode && (
className="table-container_row-checkbox" <Checkbox
onChange={onChange} className="table-container_row-checkbox"
isChecked={checked} onChange={onChange}
title={t("Common:TitleSelectFile")} isChecked={checked}
/> title={t("Common:TitleSelectFile")}
/>
)}
</div> </div>
</TableCell> </TableCell>
)} )}