]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-11724 Remove Leak Period logic from code navigator
authorWouter Admiraal <wouter.admiraal@sonarsource.com>
Wed, 13 Feb 2019 09:42:19 +0000 (10:42 +0100)
committerSonarTech <sonartech@sonarsource.com>
Mon, 11 Mar 2019 19:21:03 +0000 (20:21 +0100)
server/sonar-web/src/main/js/app/styles/init/tables.css
server/sonar-web/src/main/js/apps/code/components/Component.tsx
server/sonar-web/src/main/js/apps/code/components/Components.tsx
server/sonar-web/src/main/js/apps/code/components/ComponentsEmpty.tsx
server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.tsx
server/sonar-web/src/main/js/apps/code/components/__tests__/ComponentsHeader-test.tsx
server/sonar-web/src/main/js/apps/code/components/__tests__/__snapshots__/Components-test.tsx.snap
server/sonar-web/src/main/js/apps/code/components/__tests__/__snapshots__/ComponentsHeader-test.tsx.snap

index 2767bfbe9f595d8c56e7a95196048ce33bfdfab4..a4c1d368464371badd8295d9ff8c5a7a4dd98e34 100644 (file)
@@ -225,12 +225,6 @@ table.data > tbody > tr > td.text-middle {
   line-height: 15px;
 }
 
-.data tr > th.leak,
-.data tr > td.leak {
-  background-color: var(--leakColor) !important;
-  line-height: 15px;
-}
-
 .data tr.highlight {
   background-color: var(--lightBlue);
 }
@@ -299,14 +293,6 @@ table.data.zebra.zebra-inversed > tbody > tr:nth-child(odd) {
   background-color: #f5f5f5;
 }
 
-table.data.zebra:not(.zebra-inversed)
-  > tbody
-  > tr:not(.blank):nth-child(even)
-  > td:not(.blank).leak,
-table.data.zebra.zebra-inversed > tbody > tr:not(.blank):nth-child(odd) > td:not(.blank).leak {
-  background-color: var(--leakColorHover) !important;
-}
-
 table#project-history tr > td {
   vertical-align: top;
 }
index d5262dabeb9da4d5cb55472f03095e50e752a706..6391a622928c3ff4ee992c5b737f76658294a828 100644 (file)
@@ -29,7 +29,6 @@ interface Props {
   branchLike?: T.BranchLike;
   canBrowse?: boolean;
   component: T.ComponentMeasure;
-  isLeak: boolean;
   metrics: T.Metric[];
   previous?: T.ComponentMeasure;
   rootComponent: T.ComponentMeasure;
@@ -42,7 +41,6 @@ export class Component extends React.PureComponent<Props> {
       branchLike,
       canBrowse = false,
       component,
-      isLeak,
       metrics,
       previous,
       rootComponent,
@@ -80,13 +78,13 @@ export class Component extends React.PureComponent<Props> {
         </td>
 
         {metrics.map(metric => (
-          <td className={classNames('thin nowrap text-right', { leak: isLeak })} key={metric.key}>
+          <td className="thin nowrap text-right" key={metric.key}>
             <div className="code-components-cell">
               <ComponentMeasure component={component} metric={metric} />
             </div>
           </td>
         ))}
-        <td className={classNames('blank', { leak: isLeak })} />
+        <td className="blank" />
       </tr>
     );
   }
index 506a3d4fe83fb6f879a2e0a0b2d291459a8141d9..7fd2c4f50c32eb4991e4ae4bb0d055b3d00ec347 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import * as React from 'react';
-import * as classNames from 'classnames';
 import Component from './Component';
 import ComponentsEmpty from './ComponentsEmpty';
 import ComponentsHeader from './ComponentsHeader';
 import withKeyboardNavigation from '../../../components/hoc/withKeyboardNavigation';
-import { getCodeMetrics, showLeakMeasure } from '../utils';
+import { getCodeMetrics } from '../utils';
 import { isDefined } from '../../../helpers/types';
 
 interface Props {
@@ -40,13 +39,11 @@ export class Components extends React.PureComponent<Props> {
     const { baseComponent, branchLike, components, rootComponent, selected } = this.props;
     const metricKeys = getCodeMetrics(rootComponent.qualifier, branchLike);
     const metrics = metricKeys.map(metric => this.props.metrics[metric]).filter(isDefined);
-    const isLeak = Boolean(baseComponent && showLeakMeasure(branchLike));
     return (
       <table className="data boxed-padding zebra">
         {baseComponent && (
           <ComponentsHeader
             baseComponent={baseComponent}
-            isLeak={isLeak}
             metrics={metricKeys}
             rootComponent={rootComponent}
           />
@@ -56,17 +53,13 @@ export class Components extends React.PureComponent<Props> {
             <Component
               branchLike={branchLike}
               component={baseComponent}
-              isLeak={isLeak}
               key={baseComponent.key}
               metrics={metrics}
               rootComponent={rootComponent}
             />
             <tr className="blank">
               <td colSpan={3}>&nbsp;</td>
-              <td className={classNames({ leak: isLeak })} colSpan={10}>
-                {' '}
-                &nbsp;{' '}
-              </td>
+              <td colSpan={10}>&nbsp;</td>
             </tr>
           </tbody>
         )}
@@ -77,7 +70,6 @@ export class Components extends React.PureComponent<Props> {
                 branchLike={branchLike}
                 canBrowse={true}
                 component={component}
-                isLeak={isLeak}
                 key={component.key}
                 metrics={metrics}
                 previous={index > 0 ? list[index - 1] : undefined}
@@ -86,12 +78,12 @@ export class Components extends React.PureComponent<Props> {
               />
             ))
           ) : (
-            <ComponentsEmpty isLeak={isLeak} />
+            <ComponentsEmpty />
           )}
 
           <tr className="blank">
             <td colSpan={3} />
-            <td className={classNames({ leak: isLeak })} colSpan={10} />
+            <td colSpan={10} />
           </tr>
         </tbody>
       </table>
index ab2dc4c418273d7027aed0c4c1e006ca1adba340..3c3e4fab144b5da45ace108dd2e199de938c2ca6 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import * as React from 'react';
-import * as classNames from 'classnames';
 import { translate } from '../../../helpers/l10n';
 
-export default function ComponentsEmpty({ isLeak }: { isLeak: boolean }) {
+export default function ComponentsEmpty() {
   return (
     <tr>
       <td />
       <td className="note" colSpan={2}>
         {translate('no_results')}
       </td>
-      <td className={classNames({ leak: isLeak })} colSpan={10} />
+      <td colSpan={10} />
     </tr>
   );
 }
index 35d2f801e06400ba033dbd0d0bf07cded26e549b..81de436c90f5fef9636ef9a4731c5383ea11c571 100644 (file)
@@ -23,7 +23,6 @@ import { translate } from '../../../helpers/l10n';
 
 interface Props {
   baseComponent?: T.ComponentMeasure;
-  isLeak: boolean;
   metrics: string[];
   rootComponent: T.ComponentMeasure;
 }
@@ -35,7 +34,7 @@ const SHORT_NAME_METRICS = [
   'new_duplicated_lines_density'
 ];
 
-export default function ComponentsHeader({ baseComponent, isLeak, metrics, rootComponent }: Props) {
+export default function ComponentsHeader({ baseComponent, metrics, rootComponent }: Props) {
   const isPortfolio = ['VW', 'SVW'].includes(rootComponent.qualifier);
   let columns: string[] = [];
   if (isPortfolio) {
@@ -61,14 +60,13 @@ export default function ComponentsHeader({ baseComponent, isLeak, metrics, rootC
           columns.map((column, index) => (
             <th
               className={classNames('thin', 'nowrap', 'text-right', {
-                'code-components-cell': index > 0,
-                leak: isLeak
+                'code-components-cell': index > 0
               })}
               key={column}>
               {column}
             </th>
           ))}
-        <th className={classNames({ leak: isLeak })} />
+        <th />
       </tr>
     </thead>
   );
index 24e7e40e074f010874e3f738c894d5d0ce83b7b9..1b8fd7e98debe4a4a39a11f5df4abba2169fa487 100644 (file)
 import * as React from 'react';
 import { shallow } from 'enzyme';
 import ComponentsHeader from '../ComponentsHeader';
-
-const COMPONENT = { key: 'foo', name: 'Foo', qualifier: 'TRK' };
-const PORTFOLIO = { key: 'bar', name: 'Bar', qualifier: 'VW' };
-const METRICS = ['foo', 'bar'];
+import { mockComponent } from '../../../../helpers/testMocks';
 
 it('renders correctly for projects', () => {
-  expect(
-    shallow(
-      <ComponentsHeader
-        baseComponent={COMPONENT}
-        isLeak={false}
-        metrics={METRICS}
-        rootComponent={COMPONENT}
-      />
-    )
-  ).toMatchSnapshot();
-});
-
-it('renders correctly for leak', () => {
-  expect(
-    shallow(
-      <ComponentsHeader
-        baseComponent={COMPONENT}
-        isLeak={true}
-        metrics={METRICS}
-        rootComponent={COMPONENT}
-      />
-    )
-  ).toMatchSnapshot();
+  expect(shallowRender()).toMatchSnapshot();
 });
 
 it('renders correctly for portfolios', () => {
-  expect(
-    shallow(
-      <ComponentsHeader
-        baseComponent={PORTFOLIO}
-        isLeak={false}
-        metrics={METRICS}
-        rootComponent={PORTFOLIO}
-      />
-    )
-  ).toMatchSnapshot();
+  const portfolio = mockComponent({ qualifier: 'VW' });
+  expect(shallowRender({ baseComponent: portfolio, rootComponent: portfolio })).toMatchSnapshot();
 });
 
 it('renders correctly for a search', () => {
-  expect(
-    shallow(<ComponentsHeader isLeak={false} metrics={METRICS} rootComponent={COMPONENT} />)
-  ).toMatchSnapshot();
+  expect(shallowRender({ baseComponent: undefined })).toMatchSnapshot();
 });
+
+function shallowRender(props = {}) {
+  return shallow(
+    <ComponentsHeader
+      baseComponent={mockComponent()}
+      metrics={['foo', 'bar']}
+      rootComponent={mockComponent()}
+      {...props}
+    />
+  );
+}
index 9f8963ef37d0387ee925012eea5c2bfdcdc88e47..6d8d7177b403efce60725b787a14c51ec4bd28f5 100644 (file)
@@ -12,7 +12,6 @@ exports[`renders correctly 1`] = `
         "qualifier": "TRK",
       }
     }
-    isLeak={false}
     metrics={
       Array [
         "ncloc",
@@ -40,7 +39,6 @@ exports[`renders correctly 1`] = `
           "qualifier": "TRK",
         }
       }
-      isLeak={false}
       key="foo"
       metrics={
         Array [
@@ -69,12 +67,9 @@ exports[`renders correctly 1`] = `
          
       </td>
       <td
-        className=""
         colSpan={10}
       >
-         
          
-         
       </td>
     </tr>
   </tbody>
@@ -88,7 +83,6 @@ exports[`renders correctly 1`] = `
           "qualifier": "TRK",
         }
       }
-      isLeak={false}
       key="foo"
       metrics={
         Array [
@@ -115,7 +109,6 @@ exports[`renders correctly 1`] = `
         colSpan={3}
       />
       <td
-        className=""
         colSpan={10}
       />
     </tr>
@@ -137,7 +130,6 @@ exports[`renders correctly for a search 1`] = `
           "qualifier": "TRK",
         }
       }
-      isLeak={false}
       key="foo"
       metrics={
         Array [
@@ -164,7 +156,6 @@ exports[`renders correctly for a search 1`] = `
         colSpan={3}
       />
       <td
-        className=""
         colSpan={10}
       />
     </tr>
@@ -184,7 +175,6 @@ exports[`renders correctly for leak 1`] = `
         "qualifier": "TRK",
       }
     }
-    isLeak={true}
     metrics={
       Array [
         "new_lines",
@@ -220,7 +210,6 @@ exports[`renders correctly for leak 1`] = `
           "qualifier": "TRK",
         }
       }
-      isLeak={true}
       key="foo"
       metrics={Array []}
       rootComponent={
@@ -240,12 +229,9 @@ exports[`renders correctly for leak 1`] = `
          
       </td>
       <td
-        className="leak"
         colSpan={10}
       >
-         
          
-         
       </td>
     </tr>
   </tbody>
@@ -267,7 +253,6 @@ exports[`renders correctly for leak 1`] = `
           "qualifier": "TRK",
         }
       }
-      isLeak={true}
       key="foo"
       metrics={Array []}
       rootComponent={
@@ -285,7 +270,6 @@ exports[`renders correctly for leak 1`] = `
         colSpan={3}
       />
       <td
-        className="leak"
         colSpan={10}
       />
     </tr>
index a37d9e497f5ffd7fcad925eec2cf2f835a2d70ec..69c4c1f0371c6c2c3e51549ccd4b46e3d5fdf8ea 100644 (file)
@@ -10,38 +10,7 @@ exports[`renders correctly for a search 1`] = `
       colSpan={2}
     />
     <th />
-    <th
-      className=""
-    />
-  </tr>
-</thead>
-`;
-
-exports[`renders correctly for leak 1`] = `
-<thead>
-  <tr
-    className="code-components-header"
-  >
-    <th
-      className="thin nowrap"
-      colSpan={2}
-    />
     <th />
-    <th
-      className="thin nowrap text-right leak"
-      key="metric.foo.name"
-    >
-      metric.foo.name
-    </th>
-    <th
-      className="thin nowrap text-right code-components-cell leak"
-      key="metric.bar.name"
-    >
-      metric.bar.name
-    </th>
-    <th
-      className="leak"
-    />
   </tr>
 </thead>
 `;
@@ -86,9 +55,7 @@ exports[`renders correctly for portfolios 1`] = `
     >
       metric.ncloc.name
     </th>
-    <th
-      className=""
-    />
+    <th />
   </tr>
 </thead>
 `;
@@ -115,9 +82,7 @@ exports[`renders correctly for projects 1`] = `
     >
       metric.bar.name
     </th>
-    <th
-      className=""
-    />
+    <th />
   </tr>
 </thead>
 `;