key: string,
title: string
},
+ location: {},
onFail: string => void,
options?: {},
router: Object
if (prevProps.extension !== this.props.extension) {
this.stopExtension();
this.startExtension();
+ } else if (prevProps.location !== this.props.location) {
+ this.startExtension();
}
}
store,
el: this.container,
currentUser: this.props.currentUser,
+ location: this.props.location,
router: this.props.router,
...this.props.options
});
type Props = {
organization: Organization,
+ location: {},
params: {
extensionKey: string,
organizationKey: string,
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 />;
}
}
*/
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;
window.SonarRequest = request;
window.SonarComponents = {
FavoriteContainer,
- ListFooter
+ ListFooter,
+ Modal,
+ Tooltip,
+ Select
};
};
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 {