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

View File

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

View File

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

View File

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

View File

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