<ul>
{this.props.plugins.map(plugin => (
<li key={plugin.key} className="panel panel-vertical">
- <table className="width-100">
+ <table className="marketplace-plugin-table">
<tbody>{this.renderPlugin(plugin)}</tbody>
</table>
</li>
</ul>
</td>
- <td className="text-top width-20 big-spacer-right">
+ <td className="text-top width-20">
<ul>
<PluginUrls plugin={plugin} />
<PluginLicense license={plugin.license} />
render() {
const { plugin } = this.props;
return (
- <td className="text-top width-20 big-spacer-right">
+ <td className="text-top width-25 big-spacer-right">
<div>
<strong className="js-plugin-name">{plugin.name}</strong>
{plugin.category && (
</ul>
</td>
- <td className="text-top width-20 big-spacer-right">
+ <td className="text-top width-20">
<ul>
<PluginUrls plugin={plugin} />
<PluginLicense license={plugin.license} />
*/
import * as React from 'react';
import { FormattedMessage } from 'react-intl';
+import Tooltip from '../../../components/controls/Tooltip';
import { translate } from '../../../helpers/l10n';
interface Props {
return null;
}
return (
- <li className="little-spacer-bottom text-limited" title={license}>
- <FormattedMessage
- defaultMessage={translate('marketplace.licensed_under_x')}
- id="marketplace.licensed_under_x"
- values={{
- license: <span className="js-plugin-license">{license}</span>
- }}
- />
- </li>
+ <Tooltip overlay={license}>
+ <li className="little-spacer-bottom marketplace-plugin-license">
+ <FormattedMessage
+ defaultMessage={translate('marketplace.licensed_under_x')}
+ id="marketplace.licensed_under_x"
+ values={{
+ license: <span className="js-plugin-license">{license}</span>
+ }}
+ />
+ </li>
+ </Tooltip>
);
}
export default function PluginStatus({ plugin, refreshPending, status }: Props) {
return (
- <td className="text-top text-right width-20">
+ <td className="text-top text-right width-20 little-spacer-left">
{status === 'installing' && (
<p className="text-success">{translate('marketplace.install_pending')}</p>
)}
exports[`should display the description and category 1`] = `
<td
- className="text-top width-20 big-spacer-right"
+ className="text-top width-25 big-spacer-right"
>
<div>
<strong
exports[`should not display any category 1`] = `
<td
- className="text-top width-20 big-spacer-right"
+ className="text-top width-25 big-spacer-right"
>
<div>
<strong
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`should display the license field 1`] = `
-<li
- className="little-spacer-bottom text-limited"
- title="SonarSource license"
+<Tooltip
+ overlay="SonarSource license"
+ placement="bottom"
>
- <FormattedMessage
- defaultMessage="marketplace.licensed_under_x"
- id="marketplace.licensed_under_x"
- values={
- Object {
- "license": <span
- className="js-plugin-license"
- >
- SonarSource license
- </span>,
+ <li
+ className="little-spacer-bottom marketplace-plugin-license"
+ >
+ <FormattedMessage
+ defaultMessage="marketplace.licensed_under_x"
+ id="marketplace.licensed_under_x"
+ values={
+ Object {
+ "license": <span
+ className="js-plugin-license"
+ >
+ SonarSource license
+ </span>,
+ }
}
- }
- />
-</li>
+ />
+ </li>
+</Tooltip>
`;
exports[`should not display anything 1`] = `null`;
align-items: baseline;
justify-content: space-between;
}
+
+.marketplace-plugin-table {
+ table-layout: fixed;
+ width: 100%;
+}
+
+.marketplace-plugin-license {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}