]> source.dussan.org Git - sonarqube.git/commitdiff
Billing plugin integration
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>
Wed, 19 Apr 2017 12:06:07 +0000 (14:06 +0200)
committerGrégoire Aubert <gregaubert@users.noreply.github.com>
Thu, 27 Apr 2017 07:08:29 +0000 (09:08 +0200)
server/sonar-web/src/main/js/app/components/extensions/Extension.js
server/sonar-web/src/main/js/app/components/extensions/OrganizationPageExtension.js
server/sonar-web/src/main/js/app/utils/exposeLibraries.js
server/sonar-web/src/main/less/init/tables.less

index f5d145918b124fb8f4429d3bbeca7ad8cf039875..5f5116b5eb805efda5e9cd790fb1b5cb1ae9d409 100644 (file)
@@ -33,6 +33,7 @@ type Props = {
     key: string,
     title: string
   },
+  location: {},
   onFail: string => void,
   options?: {},
   router: Object
@@ -51,6 +52,8 @@ class Extension extends React.PureComponent {
     if (prevProps.extension !== this.props.extension) {
       this.stopExtension();
       this.startExtension();
+    } else if (prevProps.location !== this.props.location) {
+      this.startExtension();
     }
   }
 
@@ -64,6 +67,7 @@ class Extension extends React.PureComponent {
       store,
       el: this.container,
       currentUser: this.props.currentUser,
+      location: this.props.location,
       router: this.props.router,
       ...this.props.options
     });
index 6f37a0314379e326dc2c51de2c47a4d523d5a055..1dbc52d85a975341633a195c561b2ec943e35acc 100644 (file)
@@ -27,6 +27,7 @@ import type { Organization } from '../../../store/organizations/duck';
 
 type Props = {
   organization: Organization,
+  location: {},
   params: {
     extensionKey: string,
     organizationKey: string,
@@ -48,7 +49,11 @@ class OrganizationPageExtension extends React.PureComponent {
 
     const extension = pages.find(p => p.key === `${pluginKey}/${extensionKey}`);
     return extension
-      ? <Extension extension={extension} options={{ organization }} />
+      ? <Extension
+          extension={extension}
+          options={{ organization }}
+          location={this.props.location}
+        />
       : <ExtensionNotFound />;
   }
 }
index 843319f234147914a1712bfc59b43e2b0679a754..8102c75f7bf6021ed6c43975a1279ddb7d1b02c7 100644 (file)
  */
 import moment from 'moment';
 import * as ReactRedux from 'react-redux';
+import Select from 'react-select';
+import Modal from 'react-modal';
 import * as measures from '../../helpers/measures';
 import * as request from '../../helpers/request';
 import FavoriteContainer from '../../components/controls/FavoriteContainer';
 import ListFooter from '../../components/controls/ListFooter';
+import Tooltip from '../../components/controls/Tooltip';
 
 const exposeLibraries = () => {
   window.moment = moment;
@@ -31,7 +34,10 @@ const exposeLibraries = () => {
   window.SonarRequest = request;
   window.SonarComponents = {
     FavoriteContainer,
-    ListFooter
+    ListFooter,
+    Modal,
+    Tooltip,
+    Select
   };
 };
 
index 17e230ce1681f14ba8c04c1f1fa17876a6aa63ca..acd590724c5f04e4b4bae9a089903fed2a08d7c9 100644 (file)
@@ -113,8 +113,13 @@ table.data td.small, table.data th.small {
   white-space: nowrap;
 }
 
-table.data.zebra > tbody > tr:nth-child(even) {
-  background-color: #f5f5f5;
+table.data.zebra {
+  &:not(.zebra-inversed) > tbody > tr:nth-child(even) {
+    background-color: #f5f5f5;
+  }
+  &.zebra-inversed > tbody > tr:nth-child(odd) {
+    background-color: #f5f5f5;
+  }
 }
 
 table.data.zebra-hover > tbody > tr:hover {