ryuichi-e пре 5 година
родитељ
комит
5ff9f58c76

+ 2 - 0
src/client/js/app.jsx

@@ -23,6 +23,7 @@ import PageTimeline from './components/PageTimeline';
 import CommentEditorLazyRenderer from './components/PageComment/CommentEditorLazyRenderer';
 import PageManagement from './components/Page/PageManagement';
 import PageDuplicateModal from './components/PageDuplicateModal';
+import PageRenameModal from './components/PageRenameModal';
 import TrashPageAlert from './components/Page/TrashPageAlert';
 import PageAttachment from './components/PageAttachment';
 import PageStatusAlert from './components/PageStatusAlert';
@@ -93,6 +94,7 @@ if (pageContainer.state.pageId != null) {
     'page-comment-write': <CommentEditorLazyRenderer />,
     'page-management': <PageManagement />,
     'page-duplicate-modal': <PageDuplicateModal />,
+    'page-rename-modal': <PageRenameModal />,
 
     'revision-toc': <TableOfContents />,
     'seen-user-list': <UserPictureList userIds={pageContainer.state.seenUserIds} />,

+ 0 - 2
src/client/js/bootstrap.jsx

@@ -14,7 +14,6 @@ import WebsocketContainer from './services/WebsocketContainer';
 import PageCreateButton from './components/Navbar/PageCreateButton';
 import PageCreateModal from './components/PageCreateModal';
 import CreateTemplateModal from './components/CreateTemplateModal';
-import RenameModal from './components/RenameModal';
 
 const logger = loggerFactory('growi:app');
 
@@ -52,7 +51,6 @@ const componentMappings = {
   'create-page-button-icon': <PageCreateButton isIcon />,
   'page-create-modal': <PageCreateModal />,
   'create-template-modal': <CreateTemplateModal />,
-  'rename-modal': <RenameModal />,
 
   'grw-sidebar-wrapper': <Sidebar />,
 

+ 2 - 14
src/client/js/components/Page/PageManagement.jsx

@@ -7,18 +7,11 @@ import { createSubscribedElement } from '../UnstatedUtils';
 import AppContainer from '../../services/AppContainer';
 import PageContainer from '../../services/PageContainer';
 import PageDeleteModal from '../PageDeleteModal';
-import RenameModal from '../RenameModal';
 
 
 const PageManagement = (props) => {
   const { t, appContainer, pageContainer } = props;
-  const {
-    path,
-    isDeletable,
-    isAbleToDeleteCompletely,
-    openRenameModal,
-    closeRenameModal,
-  } = pageContainer.state;
+  const { path, isDeletable, isAbleToDeleteCompletely } = pageContainer.state;
 
   const { currentUser } = appContainer;
   const isTopPagePath = isTopPage(path);
@@ -36,14 +29,9 @@ const PageManagement = (props) => {
   function renderDropdownItemForNotTopPage() {
     return (
       <>
-        <a className="dropdown-item" href="#" onClick={pageContainer.openRenameModal}>
+        <a className="dropdown-item" type="button" onClick={pageContainer.openPageRenameModal}>
           <i className="icon-fw icon-action-redo"></i> { t('Move/Rename') }
         </a>
-        <RenameModal
-          isOpen={openRenameModal}
-          onClose={closeRenameModal}
-          path={path}
-        />
         <a className="dropdown-item" type="button" onClick={pageContainer.openPageDuplicateModal}>
           <i className="icon-fw icon-docs"></i> { t('Duplicate') }
         </a>

+ 7 - 11
src/client/js/services/PageContainer.js

@@ -65,11 +65,7 @@ export default class PageContainer extends Container {
 
       isPageDuplicateModalShown: false,
       isCreateTemplatePageModalShown: false,
-      isRenameModalShown: false,
-
-      isRenameRecursively: true,
-      isRenameRedirect: false,
-      isRenameMetadata: false,
+      isPageRenameModalShown: false,
 
       isHeaderSticky: false,
       isSubnavCompact: false,
@@ -114,8 +110,8 @@ export default class PageContainer extends Container {
     this.closePageDuplicateModal = this.closePageDuplicateModal.bind(this);
     this.openCreateTemplatePageModal = this.openCreateTemplatePageModal.bind(this);
     this.closeCreateTemplatePageModal = this.closeCreateTemplatePageModal.bind(this);
-    this.openRenameModal = this.openRenameModal.bind(this);
-    this.closeRenameModal = this.closeRenameModal.bind(this);
+    this.openPageRenameModal = this.openPageRenameModal.bind(this);
+    this.closePageRenameModal = this.closePageRenameModal.bind(this);
   }
 
   /**
@@ -463,12 +459,12 @@ export default class PageContainer extends Container {
     this.setState({ isCreateTemplatePageModalShown: false });
   }
 
-  openRenameModal() {
-    this.setState({ isRenameModalShown: true });
+  openPageRenameModal() {
+    this.setState({ isPageRenameModalShown: true });
   }
 
-  closeRenameModal() {
-    this.setState({ isRenameModalShown: false });
+  closePageRenameModal() {
+    this.setState({ isPageRenameModalShown: false });
   }
 
 }

+ 1 - 77
src/server/views/modal/rename.html

@@ -1,77 +1 @@
-  <div class="modal" id="renamePage">
-    <div class="modal-dialog">
-      <div class="modal-content">
-
-      <form role="form" id="renamePageForm" onsubmit="return false;">
-
-        <!-- <div class="modal-header bg-primary text-light">
-          <div class="modal-title">{{ t('modal_rename.label.Move/Rename page') }}</div>
-          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        </div>
-        <div class="modal-body">
-          <div class="form-group">
-            <label for="">{{ t('modal_rename.label.Current page name') }}</label><br>
-            <code>{{ page.path }}</code>
-          </div>
-          <div class="form-group">
-            <label for="newPageName">{{ t('modal_rename.label.New page name') }}</label><br>
-            <div class="input-group">
-              <div class="input-group-prepend">
-                <span class="input-group-text">{{ baseUrl }}</span>
-              </div>
-              {% if isSearchServiceConfigured() %}
-              <div id="rename-page-name-input" class="page-name-input flex-fill"></div>
-              {% else %}
-              <input type="text" class="form-control" name="new_path" id="newPageName" value="{{ page.path }}">
-              {% endif %}
-            </div>
-          </div>
-
-          <hr>
-
-          {% if page.grant != 2 %}
-          <div class="custom-control custom-checkbox custom-checkbox-warning">
-            <input class="custom-control-input" name="recursively" id="cbRenameRecursively" value="1" type="checkbox" checked >
-            <label class="custom-control-label" for="cbRenameRecursively">
-              {{ t('modal_rename.label.Recursively') }}
-              <p class="form-text text-muted mt-0">{{ t('modal_rename.help.recursive', page.path) }}</p>
-            </label>
-          </div>
-          {% endif %}
-
-          <div class="custom-control custom-checkbox custom-checkbox-success">
-            <input class="custom-control-input" name="create_redirect" id="cbRenameRedirect" value="1" type="checkbox">
-            <label class="custom-control-label" for="cbRenameRedirect">
-              {{ t('modal_rename.label.Redirect') }}
-              <p class="form-text text-muted mt-0">{{ t('modal_rename.help.redirect', page.path) }}</p>
-            </label>
-          </div>
-
-          <div class="custom-control custom-checkbox custom-checkbox-primary">
-            <input class="custom-control-input" name="remain_metadata" id="cbRenameMetadata" value="1" type="checkbox">
-            <label class="custom-control-label" for="cbRenameMetadata">
-              {{ t('modal_rename.label.Do not update metadata') }}
-              <p class="form-text text-muted mt-0">{{ t('modal_rename.help.metadata') }}</p>
-            </label>
-          </div>
-
-        </div>
-        <div class="modal-footer">
-          <div class="d-flex justify-content-between">
-            {% include '../widget/modal/page-api-error-messages.html' %}
-            <div>
-              <input type="hidden" name="_csrf" value="{{ csrf() }}">
-              <input type="hidden" name="path" value="{{ page.path }}">
-              <input type="hidden" name="page_id" value="{{ page._id.toString() }}">
-              <input type="hidden" name="revision_id" value="{{ page.revision._id.toString() }}">
-            </div>
-          </div>
-          <div class="d-flex justify-content-end">
-            <button type="submit" class="btn btn-primary">Rename</button>
-          </div>
-        </div> -->
-
-      </form>
-      </div><!-- /.modal-content -->
-    </div><!-- /.modal-dialog -->
-  </div><!-- /.modal -->
+<div id ="page-rename-modal"></div>