]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7932 Useless WS call on the Code page (#1248)
authorStas Vilchik <vilchiks@gmail.com>
Fri, 16 Sep 2016 11:41:29 +0000 (13:41 +0200)
committerGitHub <noreply@github.com>
Fri, 16 Sep 2016 11:41:29 +0000 (13:41 +0200)
server/sonar-web/src/main/js/apps/code/components/App.js
server/sonar-web/src/main/js/apps/code/utils.js

index fda516734ca5db315a9d67a59aa86bca6b86ca82..86563c2875fb26daad0a0ce6e3159eb964fdab16 100644 (file)
@@ -25,8 +25,8 @@ import Breadcrumbs from './Breadcrumbs';
 import SourceViewer from './../../../components/source-viewer/SourceViewer';
 import Search from './Search';
 import ListFooter from '../../../components/controls/ListFooter';
-import { retrieveComponentBase, retrieveComponent, loadMoreChildren, parseError } from '../utils';
-import { addComponentBreadcrumbs } from '../bucket';
+import { retrieveComponentChildren, retrieveComponent, loadMoreChildren, parseError } from '../utils';
+import { addComponent, addComponentBreadcrumbs } from '../bucket';
 import { selectCoverageMetric } from '../../../helpers/measures';
 
 import '../code.css';
@@ -68,8 +68,9 @@ export default class App extends React.Component {
 
     this.setState({ loading: true });
     const isView = component.qualifier === 'VW' || component.qualifier === 'SVW';
-    retrieveComponentBase(component.key, isView).then(component => {
-      const prefix = selectCoverageMetric(component.measures);
+    retrieveComponentChildren(component.key, isView).then(r => {
+      addComponent(r.baseComponent);
+      const prefix = selectCoverageMetric(r.baseComponent.measures);
       this.coverageMetric = `${prefix}coverage`;
       this.handleUpdate();
     }).catch(e => {
index 2236c75dde864f8263e284aaf0ebf50b55d1379e..b0a6e4b2ad04c20822b3de2d8f742460b30188c8 100644 (file)
@@ -91,7 +91,8 @@ function prepareChildren (r) {
   return {
     components: r.components,
     total: r.paging.total,
-    page: r.paging.pageIndex
+    page: r.paging.pageIndex,
+    baseComponent: r.baseComponent
   };
 }
 
@@ -124,7 +125,7 @@ function getMetrics (isView) {
  * @param {boolean} isView
  * @returns {Promise}
  */
-export function retrieveComponentBase (componentKey, isView) {
+function retrieveComponentBase (componentKey, isView) {
   const existing = getComponentFromBucket(componentKey);
   if (existing) {
     return Promise.resolve(existing);
@@ -143,7 +144,7 @@ export function retrieveComponentBase (componentKey, isView) {
  * @param {boolean} isView
  * @returns {Promise}
  */
-function retrieveComponentChildren (componentKey, isView) {
+export function retrieveComponentChildren (componentKey, isView) {
   const existing = getComponentChildren(componentKey);
   if (existing) {
     return Promise.resolve({