Browse Source

remove unnecessary dom

ryohek 5 years ago
parent
commit
ef378b4abb

+ 1 - 1
src/client/js/components/OutsideShareLinkModal.jsx

@@ -23,7 +23,7 @@ const OutsideShareLinkModal = (props) => {
   }
   }
 
 
   return (
   return (
-    <Modal size="xl" isOpen={props.isOpen} toggle={props.onClose} className="grw-create-page">
+    <Modal size="xl" isOpen={props.isOpen} toggle={props.onClose}>
       <ModalHeader tag="h4" toggle={props.onClose} className="bg-primary text-light">Title
       <ModalHeader tag="h4" toggle={props.onClose} className="bg-primary text-light">Title
       </ModalHeader>
       </ModalHeader>
       <ModalBody>
       <ModalBody>

+ 17 - 37
src/client/js/components/Page/CopyDropdown.jsx

@@ -74,14 +74,19 @@ class CopyDropdown extends React.Component {
   }
   }
 
 
   generateShareLink() {
   generateShareLink() {
-    const { shareLink } = this.props;
-    return `http://localhost:3000/share/${shareLink._id}`;
+    const { pagePath } = this.props;
+    return `http://localhost:3000${pagePath}`;
   }
   }
 
 
   generateMarkdownLink() {
   generateMarkdownLink() {
     const { pagePath } = this.props;
     const { pagePath } = this.props;
+    const isShareLinkMode = pagePath.indexOf('/share/') !== -1;
 
 
     const label = decodeURI(`${pagePath}${this.uriParams}`);
     const label = decodeURI(`${pagePath}${this.uriParams}`);
+    if (isShareLinkMode) {
+      const permalink = this.generateShareLink();
+      return `[${label}](${permalink})`;
+    }
     const permalink = this.generatePermalink();
     const permalink = this.generatePermalink();
 
 
     return `[${label}](${permalink})`;
     return `[${label}](${permalink})`;
@@ -99,9 +104,7 @@ class CopyDropdown extends React.Component {
   );
   );
 
 
   render() {
   render() {
-    const {
-      t, pageId, shareLink, isShareLinkMode,
-    } = this.props;
+    const { t, pageId, pagePath } = this.props;
     const { isParamsAppended } = this.state;
     const { isParamsAppended } = this.state;
 
 
     const pagePathWithParams = this.generatePagePathWithParams();
     const pagePathWithParams = this.generatePagePathWithParams();
@@ -109,7 +112,8 @@ class CopyDropdown extends React.Component {
     const permalink = this.generatePermalink();
     const permalink = this.generatePermalink();
 
 
     const { DropdownItemContents } = this;
     const { DropdownItemContents } = this;
-    const copyTarget = isShareLinkMode ? `copyShareLink${shareLink._id}` : 'copyPagePathDropdown';
+    const isShareLinkMode = pagePath.indexOf('/share/') !== -1;
+    const copyTarget = isShareLinkMode ? `copyShareLink${pagePath.replace('/share/', '')}` : 'copyPagePathDropdown';
     const styleName = isShareLinkMode ? 'btn btn-success' : 'd-block text-muted bg-transparent btn-copy border-0';
     const styleName = isShareLinkMode ? 'btn btn-success' : 'd-block text-muted bg-transparent btn-copy border-0';
 
 
     return (
     return (
@@ -158,16 +162,12 @@ class CopyDropdown extends React.Component {
             )}
             )}
 
 
             {/* Page path URL */}
             {/* Page path URL */}
-            { pageId && (
-              <>
-                <CopyToClipboard text={pagePathUrl} onCopy={this.showToolTip}>
-                  <DropdownItem className="px-3">
-                    <DropdownItemContents title={t('copy_to_clipboard.Page URL')} contents={pagePathUrl} />
-                  </DropdownItem>
-                </CopyToClipboard>
-                <DropdownItem divider className="my-0"></DropdownItem>
-              </>
-            )}
+            <CopyToClipboard text={pagePathUrl} onCopy={this.showToolTip}>
+              <DropdownItem className="px-3">
+                <DropdownItemContents title={t('copy_to_clipboard.Page URL')} contents={pagePathUrl} />
+              </DropdownItem>
+            </CopyToClipboard>
+            <DropdownItem divider className="my-0"></DropdownItem>
 
 
 
 
             {/* Parmanent Link */}
             {/* Parmanent Link */}
@@ -193,31 +193,13 @@ class CopyDropdown extends React.Component {
             <DropdownItem divider className="my-0"></DropdownItem>
             <DropdownItem divider className="my-0"></DropdownItem>
 
 
             {/* Markdown Link */}
             {/* Markdown Link */}
-            { pageId && (
+            { (pageId || pagePath) && (
               <CopyToClipboard text={this.generateMarkdownLink()} onCopy={this.showToolTip}>
               <CopyToClipboard text={this.generateMarkdownLink()} onCopy={this.showToolTip}>
                 <DropdownItem className="px-3 text-wrap">
                 <DropdownItem className="px-3 text-wrap">
                   <DropdownItemContents title={t('copy_to_clipboard.Markdown link')} contents={this.generateMarkdownLink()} isContentsWrap />
                   <DropdownItemContents title={t('copy_to_clipboard.Markdown link')} contents={this.generateMarkdownLink()} isContentsWrap />
                 </DropdownItem>
                 </DropdownItem>
               </CopyToClipboard>
               </CopyToClipboard>
             )}
             )}
-
-            {/* Share Link Copy */}
-            { isShareLinkMode && (
-              <CopyToClipboard text={this.generateShareLink()} onCopy={this.showToolTip}>
-                <DropdownItem className="px-3 text-wrap">
-                  <DropdownItemContents title="share link" contents={this.generateShareLink()} isContentsWrap />
-                </DropdownItem>
-              </CopyToClipboard>
-            )}
-
-            {/* Markdown Link */}
-            { isShareLinkMode && (
-              <CopyToClipboard text={this.generateMarkdownShareLink()} onCopy={this.showToolTip}>
-                <DropdownItem className="px-3 text-wrap">
-                  <DropdownItemContents title="Markdown share link" contents={this.generateMarkdownShareLink()} isContentsWrap />
-                </DropdownItem>
-              </CopyToClipboard>
-            )}
           </DropdownMenu>
           </DropdownMenu>
 
 
         </UncontrolledDropdown>
         </UncontrolledDropdown>
@@ -237,8 +219,6 @@ CopyDropdown.propTypes = {
   pagePath: PropTypes.string.isRequired,
   pagePath: PropTypes.string.isRequired,
   pageId: PropTypes.string,
   pageId: PropTypes.string,
   buttonStyle: PropTypes.object,
   buttonStyle: PropTypes.object,
-  shareLink: PropTypes.object,
-  isShareLinkMode: PropTypes.bool,
 };
 };
 
 
 export default withTranslation()(CopyDropdown);
 export default withTranslation()(CopyDropdown);

+ 1 - 1
src/client/js/components/ShareLinkList.jsx

@@ -47,7 +47,7 @@ const ShareLinkList = (props) => {
           <tr>
           <tr>
             <td className="d-flex justify-content-between align-items-center">
             <td className="d-flex justify-content-between align-items-center">
               <div>{shareLink.link}</div>
               <div>{shareLink.link}</div>
-              <CopyDropdown isShareLinkMode="true" shareLink={shareLink} />
+              <CopyDropdown isShareLinkMode="true" pagePath={`/share/${shareLink._id}`} />
             </td>
             </td>
             <td>{shareLink.expiration}</td>
             <td>{shareLink.expiration}</td>
             <td>{shareLink.description}</td>
             <td>{shareLink.description}</td>