Yuki Takei před 8 roky
rodič
revize
e8bdce9863
1 změnil soubory, kde provedl 14 přidání a 16 odebrání
  1. 14 16
      resource/js/util/markdown-it/header.js

+ 14 - 16
resource/js/util/markdown-it/header.js

@@ -4,14 +4,25 @@ export default class HeaderConfigurer {
     this.crowi = crowi;
 
     this.injectRevisionHeadClass = this.injectRevisionHeadClass.bind(this);
-    this.combineRules = this.combineRules.bind(this);
   }
 
   configure(md) {
     const rules = md.renderer.rules;
-    const headingOpenOrg = rules.heading_open;
+    const original = rules.heading_open;
     // combine rule and set
-    rules.heading_open = this.combineRules(this.injectRevisionHeadClass, headingOpenOrg);
+    // rules.heading_open = this.combineRules(this.injectRevisionHeadClass, headingOpenOrg);
+    rules.heading_open = (tokens, idx, options, env, self) => {
+      const token = tokens[idx];
+
+      // Inject 'revision-head' class
+			this.injectRevisionHeadClass(tokens, idx, options, env, self);
+
+			if (original) {
+				return original(tokens, idx, options, env, self);
+			} else {
+				return self.renderToken(tokens, idx, options, env, self);
+			}
+		};
   }
 
   /**
@@ -21,18 +32,5 @@ export default class HeaderConfigurer {
     if (tokens[idx].map && tokens[idx].level === 0) {
       tokens[idx].attrJoin('class', 'revision-head');
     }
-    return slf.renderToken(tokens, idx, options, env, slf);
-  }
-
-  combineRules(rule1, rule2) {
-    return (tokens, idx, options, env, slf) => {
-      if (rule1 != null) {
-        rule1(tokens, idx, options, env, slf);
-      }
-      if (rule2 != null) {
-        rule2(tokens, idx, options, env, slf);
-      }
-      return slf.renderToken(tokens, idx, options, env, slf);
-    }
   }
 }