|
@@ -7,6 +7,7 @@ import urljoin from 'url-join';
|
|
|
import { isTopPage } from '@commons/util/path-utils';
|
|
import { isTopPage } from '@commons/util/path-utils';
|
|
|
import { withUnstatedContainers } from '../UnstatedUtils';
|
|
import { withUnstatedContainers } from '../UnstatedUtils';
|
|
|
import AppContainer from '../../services/AppContainer';
|
|
import AppContainer from '../../services/AppContainer';
|
|
|
|
|
+import NavigationContainer from '../../services/NavigationContainer';
|
|
|
import PageContainer from '../../services/PageContainer';
|
|
import PageContainer from '../../services/PageContainer';
|
|
|
import PageDeleteModal from '../PageDeleteModal';
|
|
import PageDeleteModal from '../PageDeleteModal';
|
|
|
import PageRenameModal from '../PageRenameModal';
|
|
import PageRenameModal from '../PageRenameModal';
|
|
@@ -18,13 +19,16 @@ import PresentationIcon from '../Icons/PresentationIcon';
|
|
|
|
|
|
|
|
const PageManagement = (props) => {
|
|
const PageManagement = (props) => {
|
|
|
const {
|
|
const {
|
|
|
- t, appContainer, pageContainer, isCompactMode,
|
|
|
|
|
|
|
+ t, appContainer, navigationContainer, pageContainer, isCompactMode,
|
|
|
} = props;
|
|
} = props;
|
|
|
const { path, isDeletable, isAbleToDeleteCompletely } = pageContainer.state;
|
|
const { path, isDeletable, isAbleToDeleteCompletely } = pageContainer.state;
|
|
|
|
|
|
|
|
const { currentUser } = appContainer;
|
|
const { currentUser } = appContainer;
|
|
|
const isTopPagePath = isTopPage(path);
|
|
const isTopPagePath = isTopPage(path);
|
|
|
|
|
|
|
|
|
|
+ const { editorMode } = navigationContainer.state;
|
|
|
|
|
+ const isViewMode = editorMode === 'view';
|
|
|
|
|
+
|
|
|
const [isPageRenameModalShown, setIsPageRenameModalShown] = useState(false);
|
|
const [isPageRenameModalShown, setIsPageRenameModalShown] = useState(false);
|
|
|
const [isPageDuplicateModalShown, setIsPageDuplicateModalShown] = useState(false);
|
|
const [isPageDuplicateModalShown, setIsPageDuplicateModalShown] = useState(false);
|
|
|
const [isPageTemplateModalShown, setIsPageTempleteModalShown] = useState(false);
|
|
const [isPageTemplateModalShown, setIsPageTempleteModalShown] = useState(false);
|
|
@@ -224,7 +228,9 @@ const PageManagement = (props) => {
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<>
|
|
<>
|
|
|
- {currentUser == null ? renderDotsIconForGuestUser() : renderDotsIconForCurrentUser()}
|
|
|
|
|
|
|
+ {isViewMode && (
|
|
|
|
|
+ currentUser == null ? renderDotsIconForGuestUser() : renderDotsIconForCurrentUser()
|
|
|
|
|
+ )}
|
|
|
<div className="dropdown-menu dropdown-menu-right">
|
|
<div className="dropdown-menu dropdown-menu-right">
|
|
|
{isTopPagePath ? renderDropdownItemForTopPage() : renderDropdownItemForNotTopPage()}
|
|
{isTopPagePath ? renderDropdownItemForTopPage() : renderDropdownItemForNotTopPage()}
|
|
|
<button className="dropdown-item" type="button" onClick={openPageTemplateModalHandler}>
|
|
<button className="dropdown-item" type="button" onClick={openPageTemplateModalHandler}>
|
|
@@ -240,12 +246,13 @@ const PageManagement = (props) => {
|
|
|
/**
|
|
/**
|
|
|
* Wrapper component for using unstated
|
|
* Wrapper component for using unstated
|
|
|
*/
|
|
*/
|
|
|
-const PageManagementWrapper = withUnstatedContainers(PageManagement, [AppContainer, PageContainer]);
|
|
|
|
|
|
|
+const PageManagementWrapper = withUnstatedContainers(PageManagement, [AppContainer, NavigationContainer, PageContainer]);
|
|
|
|
|
|
|
|
|
|
|
|
|
PageManagement.propTypes = {
|
|
PageManagement.propTypes = {
|
|
|
t: PropTypes.func.isRequired, // i18next
|
|
t: PropTypes.func.isRequired, // i18next
|
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
|
|
+ navigationContainer: PropTypes.instanceOf(NavigationContainer).isRequired,
|
|
|
pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
|
|
pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
|
|
|
|
|
|
|
|
isCompactMode: PropTypes.bool,
|
|
isCompactMode: PropTypes.bool,
|