yusuketk 5 лет назад
Родитель
Сommit
9cae4f9391

+ 1 - 0
src/client/js/components/PageEditor/LinkEditModal.jsx

@@ -57,6 +57,7 @@ class LinkEditModal extends React.PureComponent {
     }
   }
 
+  // defaultMarkdownLink is an instance of Linker
   show(defaultMarkdownLink = null) {
     // if defaultMarkdownLink is null, set default value in inputs.
     const {type='mdLink', label='', link=''} = defaultMarkdownLink ;

+ 1 - 1
src/client/js/components/PageEditor/MarkdownLinkUtil.js

@@ -11,7 +11,7 @@ class MarkdownLinkUtil {
     this.replaceFocusedMarkdownLinkWithEditor = this.replaceFocusedMarkdownLinkWithEditor.bind(this);
   }
 
-  // return text as markdown link if the cursor on markdown link else return text as default label of new link.
+  // return an instance of Linker from cursor position or selected text.
   getMarkdownLink(editor) {
     if (!this.isInLink(editor)) {
       return Linker.fromMarkdownString(editor.getDoc().getSelection());

+ 10 - 8
src/client/js/models/Linker.js

@@ -15,9 +15,9 @@ export default class Linker {
     this.link = link;
   }
 
-  // create a linker from string
+  // create an instance of Linker from string
   static fromMarkdownString(str) {
-    // if str doesn't mean a linker, create markdown link whose label is str
+    // if str doesn't mean a linker, create a link whose label is str
     let label=str;
     let link='';
     let type=types.markdownLink;
@@ -56,20 +56,19 @@ export default class Linker {
     return new Linker(type, label, link);
   }
 
-  // create a linker from text with index
+  // create an instance of Linker from text with index
   static fromLineWithIndex(line, index) {
     const { beginningOfLink, endOfLink } = this.getBeginningAndEndIndexOfLink(line, index);
+    // if index is in a link, extract it from line
     let linkStr = '';
     if (beginningOfLink >= 0 && endOfLink >= 0) {
      linkStr = line.substring(beginningOfLink, endOfLink);
     }
-    console.log(linkStr);
-
     return this.fromMarkdownString(linkStr);
   }
 
   // return beginning and end indexies of link
-  // if index is not on link, return { beginningOfLink: -1, endOfLink: -1 }
+  // if index is not in a link, return { beginningOfLink: -1, endOfLink: -1 }
   static getBeginningAndEndIndexOfLink(line, index) {
     let beginningOfLink, endOfLink;
 
@@ -78,16 +77,20 @@ export default class Linker {
       [beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[[', ']]');
     }
 
+    // if index is not in a pukiwiki link
     // growi link ('[/link]')
     if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index){
       [beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[/', ']');
     }
 
+    // and if index is not in a growi link
     // markdown link ('[label](link)')
     if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index){
       [beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[', ')', '](');
     }
 
+    // and if index is not in a markdown link
+    // return { beginningOfLink: -1, endOfLink: -1 }
     if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index) {
       [beginningOfLink, endOfLink] = [-1, -1];
     };
@@ -95,8 +98,7 @@ export default class Linker {
     return { beginningOfLink, endOfLink };
   }
 
-  // return begin and end indexies as array only when index between prefix and suffix.
-  // if line doesn't contain containText, return null.
+  // return begin and end indexies as array only when index is between prefix and suffix and link contains containText.
   static getBeginningAndEndIndexWithPrefixAndSuffix(line, index, prefix, suffix, containText='') {
     const beginningIndex = line.lastIndexOf(prefix, index);
     const IndexOfContainText = line.indexOf(containText, beginningIndex + prefix.length);