Merge branch 'develop' into refactoring/global-colors

This commit is contained in:
Viktor Fomin 2024-06-20 15:45:44 +03:00
commit d08448a8fa
3 changed files with 21 additions and 27 deletions

View File

@ -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(() => {

View File

@ -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;

View File

@ -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}