Merge branch 'develop' into refactoring/global-colors
This commit is contained in:
commit
d08448a8fa
@ -295,7 +295,7 @@ const PureHome = (props) => {
|
|||||||
|
|
||||||
const getContextModel = () => {
|
const getContextModel = () => {
|
||||||
if (isFrame) return null;
|
if (isFrame) return null;
|
||||||
return getFolderModel(t);
|
return getFolderModel(t, true);
|
||||||
};
|
};
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
|
@ -2127,7 +2127,7 @@ class ContextOptionsStore {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
getFolderModel = (t) => {
|
getFolderModel = (t, isSectionMenu) => {
|
||||||
const { isLoading } = this.clientLoadingStore;
|
const { isLoading } = this.clientLoadingStore;
|
||||||
const { security, roomType, parentRoomType, isFolder } =
|
const { security, roomType, parentRoomType, isFolder } =
|
||||||
this.selectedFolderStore;
|
this.selectedFolderStore;
|
||||||
@ -2158,7 +2158,8 @@ class ContextOptionsStore {
|
|||||||
|
|
||||||
const someDialogIsOpen = checkDialogsOpen();
|
const someDialogIsOpen = checkDialogsOpen();
|
||||||
|
|
||||||
if (!canCreate || isMobile || someDialogIsOpen) return null;
|
if (!canCreate || (isSectionMenu && (isMobile || someDialogIsOpen)))
|
||||||
|
return null;
|
||||||
|
|
||||||
const isOwner = this.userStore.user?.isOwner;
|
const isOwner = this.userStore.user?.isOwner;
|
||||||
const isRoomAdmin = this.userStore.user?.isRoomAdmin;
|
const isRoomAdmin = this.userStore.user?.isRoomAdmin;
|
||||||
|
@ -34,13 +34,7 @@ import ArrowIcon from "PUBLIC_DIR/images/arrow.right.react.svg";
|
|||||||
import OutsdideIcon from "PUBLIC_DIR/images/arrow.outside.react.svg";
|
import OutsdideIcon from "PUBLIC_DIR/images/arrow.outside.react.svg";
|
||||||
import { isMobile as isMobileDevice } from "react-device-detect";
|
import { isMobile as isMobileDevice } from "react-device-detect";
|
||||||
|
|
||||||
import {
|
import { classNames, ObjectUtils, DomHelpers } from "../../../utils";
|
||||||
classNames,
|
|
||||||
ObjectUtils,
|
|
||||||
DomHelpers,
|
|
||||||
isMobile,
|
|
||||||
isTablet,
|
|
||||||
} from "../../../utils";
|
|
||||||
import { ContextMenuSkeleton } from "../../../skeletons/context-menu";
|
import { ContextMenuSkeleton } from "../../../skeletons/context-menu";
|
||||||
|
|
||||||
import { Scrollbar } from "../../scrollbar";
|
import { Scrollbar } from "../../scrollbar";
|
||||||
@ -86,7 +80,7 @@ const SubMenu = (props: {
|
|||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
|
|
||||||
const onItemMouseEnter = (e: React.MouseEvent, item: ContextMenuType) => {
|
const onItemMouseEnter = (e: React.MouseEvent, item: ContextMenuType) => {
|
||||||
if (item.disabled || isMobileDevice) {
|
if (isMobileDevice) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -98,18 +92,15 @@ const SubMenu = (props: {
|
|||||||
e: React.MouseEvent | React.ChangeEvent<HTMLInputElement>,
|
e: React.MouseEvent | React.ChangeEvent<HTMLInputElement>,
|
||||||
item: ContextMenuType,
|
item: ContextMenuType,
|
||||||
) => {
|
) => {
|
||||||
|
const { url, onClick, items, action } = item;
|
||||||
|
|
||||||
if (item.onLoad) {
|
if (item.onLoad) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if (!isMobile() && !isTablet()) return;
|
|
||||||
|
|
||||||
if (isMobile() || isTablet()) onMobileItemClick?.(e, item.onLoad);
|
if (!isMobileDevice) return;
|
||||||
else onLeafClick?.(e);
|
|
||||||
return;
|
onMobileItemClick?.(e, item.onLoad);
|
||||||
}
|
|
||||||
|
|
||||||
const { disabled, url, onClick, items, action } = item;
|
|
||||||
if (disabled) {
|
|
||||||
e.preventDefault();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,15 +108,14 @@ const SubMenu = (props: {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (onClick) {
|
onClick?.({ originalEvent: e, action, item });
|
||||||
onClick({ originalEvent: e, action, item });
|
|
||||||
|
if (items && isMobileDevice) {
|
||||||
|
setActiveItem(item);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!items) {
|
onLeafClick?.(e);
|
||||||
onLeafClick?.(e);
|
|
||||||
} else {
|
|
||||||
e.stopPropagation();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const position = () => {
|
const position = () => {
|
||||||
@ -313,18 +303,19 @@ const SubMenu = (props: {
|
|||||||
const dataKeys = Object.fromEntries(
|
const dataKeys = Object.fromEntries(
|
||||||
Object.entries(item).filter((el) => el[0].indexOf("data-") === 0),
|
Object.entries(item).filter((el) => el[0].indexOf("data-") === 0),
|
||||||
);
|
);
|
||||||
|
|
||||||
const onClick = (
|
const onClick = (
|
||||||
e: React.MouseEvent | React.ChangeEvent<HTMLInputElement>,
|
e: React.MouseEvent | React.ChangeEvent<HTMLInputElement>,
|
||||||
) => {
|
) => {
|
||||||
onItemClick(e, item);
|
onItemClick(e, item);
|
||||||
};
|
};
|
||||||
|
|
||||||
let content = (
|
let content = (
|
||||||
<a
|
<a
|
||||||
href={item.url || "#"}
|
href={item.url || "#"}
|
||||||
className={linkClassName || ""}
|
className={linkClassName || ""}
|
||||||
target={item.target}
|
target={item.target}
|
||||||
{...dataKeys}
|
{...dataKeys}
|
||||||
onClick={onClick}
|
|
||||||
role="menuitem"
|
role="menuitem"
|
||||||
>
|
>
|
||||||
{icon}
|
{icon}
|
||||||
@ -363,6 +354,7 @@ const SubMenu = (props: {
|
|||||||
role="none"
|
role="none"
|
||||||
className={className || ""}
|
className={className || ""}
|
||||||
style={{ ...item.style, ...style }}
|
style={{ ...item.style, ...style }}
|
||||||
|
onClick={onClick}
|
||||||
onMouseEnter={(e) => onItemMouseEnter(e, item)}
|
onMouseEnter={(e) => onItemMouseEnter(e, item)}
|
||||||
>
|
>
|
||||||
{content}
|
{content}
|
||||||
@ -383,6 +375,7 @@ const SubMenu = (props: {
|
|||||||
role="none"
|
role="none"
|
||||||
className={className || ""}
|
className={className || ""}
|
||||||
style={{ ...item.style, ...style }}
|
style={{ ...item.style, ...style }}
|
||||||
|
onClick={onClick}
|
||||||
onMouseEnter={(e) => onItemMouseEnter(e, item)}
|
onMouseEnter={(e) => onItemMouseEnter(e, item)}
|
||||||
>
|
>
|
||||||
{content}
|
{content}
|
||||||
|
Loading…
Reference in New Issue
Block a user