]> source.dussan.org Git - sonarqube.git/commitdiff
Fix quality flaws
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>
Wed, 16 Aug 2017 07:21:04 +0000 (09:21 +0200)
committerGrégoire Aubert <gregoire.aubert@sonarsource.com>
Thu, 17 Aug 2017 14:42:34 +0000 (16:42 +0200)
server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.js
server/sonar-web/src/main/js/components/charts/TreeMapRect.js

index ffb96775dc91e320eb7728600034911de8736f16..e6a4b4f24b2669f1f9f98dca5deb8232015a3730 100644 (file)
@@ -112,32 +112,37 @@ export default class ProjectActivityAnalysesList extends React.PureComponent {
   };
 
   updateStickyBadges = (forceBadgeAlignement /*: ?boolean */) => {
-    if (this.scrollContainer && this.badges) {
-      const scrollTop = this.scrollContainer.scrollTop;
-      if (scrollTop != null) {
-        let newScrollTop;
-        for (let i = 1; i < this.badges.length; i++) {
-          const badge = this.badges[i];
-          let originOffsetTop = badge.getAttribute('originOffsetTop');
-          if (originOffsetTop == null) {
-            // Set the originOffsetTop attribute, to avoid using getBoundingClientRect
-            originOffsetTop = badge.offsetTop;
-            badge.setAttribute('originOffsetTop', originOffsetTop.toString());
-          }
-          if (Number(originOffsetTop) < scrollTop + 18 + i * 2) {
-            if (forceBadgeAlignement && !badge.classList.contains('sticky')) {
-              newScrollTop = originOffsetTop;
-            }
-            badge.classList.add('sticky');
-          } else {
-            badge.classList.remove('sticky');
-          }
-        }
-        if (forceBadgeAlignement && newScrollTop != null) {
-          this.scrollContainer.scrollTop = newScrollTop - 6;
+    if (!this.scrollContainer || !this.badges) {
+      return;
+    }
+
+    const scrollTop = this.scrollContainer.scrollTop;
+    if (scrollTop == null) {
+      return;
+    }
+
+    let newScrollTop;
+    for (let i = 1; i < this.badges.length; i++) {
+      const badge = this.badges[i];
+      let originOffsetTop = badge.getAttribute('originOffsetTop');
+      if (originOffsetTop == null) {
+        // Set the originOffsetTop attribute, to avoid using getBoundingClientRect
+        originOffsetTop = badge.offsetTop;
+        badge.setAttribute('originOffsetTop', originOffsetTop.toString());
+      }
+      if (Number(originOffsetTop) < scrollTop + 18 + i * 2) {
+        if (forceBadgeAlignement && !badge.classList.contains('sticky')) {
+          newScrollTop = originOffsetTop;
         }
+        badge.classList.add('sticky');
+      } else {
+        badge.classList.remove('sticky');
       }
     }
+
+    if (forceBadgeAlignement && newScrollTop != null) {
+      this.scrollContainer.scrollTop = newScrollTop - 6;
+    }
   };
 
   updateSelectedDate = (date /*: Date */) => this.props.updateQuery({ selectedDate: date });
index 0f6205ef06de974ef8325baeb3124638ad1acac6..357bd6e5c4ed94047f3780290e4db2f61278eb41 100644 (file)
@@ -56,13 +56,15 @@ export default class TreeMapRect extends React.PureComponent {
 
   renderLink = () => {
     const { link, height, width } = this.props;
-    if (link != null && width >= 24 && height >= 24 && (width >= 48 || height >= 50)) {
-      return (
-        <Link className="treemap-link" to={link} onClick={this.handleLinkClick}>
-          <LinkIcon />
-        </Link>
-      );
+    const hasMinSize = width >= 24 && height >= 24 && (width >= 48 || height >= 50);
+    if (!hasMinSize || link == null) {
+      return null;
     }
+    return (
+      <Link className="treemap-link" to={link} onClick={this.handleLinkClick}>
+        <LinkIcon />
+      </Link>
+    );
   };
 
   renderCell = () => {