فهرست منبع

add isTreeItemDisplayedActive constant to display root page as active

WNomunomu 1 سال پیش
والد
کامیت
0ea0585988
2فایلهای تغییر یافته به همراه13 افزوده شده و 4 حذف شده
  1. 1 0
      apps/app/src/components/PageSelectModal/TreeItemForModal.tsx
  2. 12 4
      apps/app/src/components/TreeItem/TreeItemLayout.tsx

+ 1 - 0
apps/app/src/components/PageSelectModal/TreeItemForModal.tsx

@@ -37,6 +37,7 @@ export const TreeItemForModal: FC<PageTreeItemProps> = (props) => {
       itemClass={TreeItemForModal}
       itemClass={TreeItemForModal}
       customHoveredEndComponents={[NewPageCreateButton]}
       customHoveredEndComponents={[NewPageCreateButton]}
       onClick={onClick}
       onClick={onClick}
+      isRootPageItemActive
     />
     />
   );
   );
 };
 };

+ 12 - 4
apps/app/src/components/TreeItem/TreeItemLayout.tsx

@@ -41,6 +41,7 @@ type TreeItemLayoutProps = TreeItemProps & {
   className?: string,
   className?: string,
   itemRef?: RefObject<any> | RefCallback<any>,
   itemRef?: RefObject<any> | RefCallback<any>,
   indentSize?: number,
   indentSize?: number,
+  isRootPageItemActive?: boolean,
 }
 }
 
 
 export const TreeItemLayout: FC<TreeItemLayoutProps> = (props) => {
 export const TreeItemLayout: FC<TreeItemLayoutProps> = (props) => {
@@ -50,7 +51,7 @@ export const TreeItemLayout: FC<TreeItemLayoutProps> = (props) => {
     itemLevel: baseItemLevel = 1,
     itemLevel: baseItemLevel = 1,
     itemNode, targetPathOrId, isOpen: _isOpen = false,
     itemNode, targetPathOrId, isOpen: _isOpen = false,
     onRenamed, onClick, onClickDuplicateMenuItem, onClickDeleteMenuItem, isEnableActions, isReadOnlyUser, isWipPageShown = true,
     onRenamed, onClick, onClickDuplicateMenuItem, onClickDeleteMenuItem, isEnableActions, isReadOnlyUser, isWipPageShown = true,
-    itemRef, itemClass,
+    itemRef, itemClass, isRootPageItemActive,
     showAlternativeContent,
     showAlternativeContent,
   } = props;
   } = props;
 
 
@@ -95,8 +96,11 @@ export const TreeItemLayout: FC<TreeItemLayoutProps> = (props) => {
   }, [hasChildren]);
   }, [hasChildren]);
 
 
   useEffect(() => {
   useEffect(() => {
-    if (page.path === '/') {
-      markTarget([itemNode], targetPathOrId);
+    if (page.path === '/' && targetPathOrId === '/') {
+      itemNode.page.isTarget = true;
+    }
+    else {
+      itemNode.page.isTarget = false;
     }
     }
   }, [itemNode, page.path, targetPathOrId]);
   }, [itemNode, page.path, targetPathOrId]);
 
 
@@ -152,6 +156,10 @@ export const TreeItemLayout: FC<TreeItemLayoutProps> = (props) => {
     return <></>;
     return <></>;
   }
   }
 
 
+  const isRootPage = page.path === '/';
+
+  const isTreeItemDisplayedActive = isRootPage && page.isTarget ? isRootPageItemActive : true;
+
   return (
   return (
     <div
     <div
       id={`tree-item-layout-${page._id}`}
       id={`tree-item-layout-${page._id}`}
@@ -164,7 +172,7 @@ export const TreeItemLayout: FC<TreeItemLayoutProps> = (props) => {
         role="button"
         role="button"
         className={`list-group-item ${itemClassName}
         className={`list-group-item ${itemClassName}
           border-0 py-0 ps-0 d-flex align-items-center rounded-1
           border-0 py-0 ps-0 d-flex align-items-center rounded-1
-          ${page.isTarget ? 'active' : 'list-group-item-action'}`}
+          ${page.isTarget && isTreeItemDisplayedActive ? 'active' : 'list-group-item-action'}`}
         id={page.isTarget ? 'grw-pagetree-current-page-item' : `grw-pagetree-list-${page._id}`}
         id={page.isTarget ? 'grw-pagetree-current-page-item' : `grw-pagetree-list-${page._id}`}
         onClick={itemClickHandler}
         onClick={itemClickHandler}
       >
       >