diff options
author | Stas Vilchik <stas.vilchik@sonarsource.com> | 2017-07-17 10:07:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-17 10:07:30 +0200 |
commit | d5b076b2fc8988e9a3799ba7775f851e1a12cbb7 (patch) | |
tree | 3c0f98977cc487747efeeeb47974fc13e70eab97 /server/sonar-web/src/main/js | |
parent | c8797aabc9b4d705f7da59b43717e5c0fe0e80fb (diff) | |
download | sonarqube-d5b076b2fc8988e9a3799ba7775f851e1a12cbb7.tar.gz sonarqube-d5b076b2fc8988e9a3799ba7775f851e1a12cbb7.zip |
upgrade prettier and remove prettier-eslint (#2254)
Diffstat (limited to 'server/sonar-web/src/main/js')
373 files changed, 2388 insertions, 1448 deletions
diff --git a/server/sonar-web/src/main/js/api/components.js b/server/sonar-web/src/main/js/api/components.js index 60d33b1f346..8c94bf752f4 100644 --- a/server/sonar-web/src/main/js/api/components.js +++ b/server/sonar-web/src/main/js/api/components.js @@ -47,14 +47,12 @@ export function deleteProject(project: string) { return post(url, data); } -export function createProject( - data: { - branch?: string, - name: string, - project: string, - organization?: string - } -) { +export function createProject(data: { + branch?: string, + name: string, + project: string, + organization?: string +}) { const url = '/api/projects/create'; return postJSON(url, data).catch(throwGlobalError); } diff --git a/server/sonar-web/src/main/js/api/issues.js b/server/sonar-web/src/main/js/api/issues.js index 92e3c94912d..30cb211e96e 100644 --- a/server/sonar-web/src/main/js/api/issues.js +++ b/server/sonar-web/src/main/js/api/issues.js @@ -117,9 +117,10 @@ export function editIssueComment(data: { comment: string, text: string }): Promi return postJSON(url, data); } -export function setIssueAssignee( - data: { issue: string, assignee?: string } -): Promise<IssueResponse> { +export function setIssueAssignee(data: { + issue: string, + assignee?: string +}): Promise<IssueResponse> { const url = '/api/issues/assign'; return postJSON(url, data); } @@ -134,9 +135,10 @@ export function setIssueTags(data: { issue: string, tags: string }): Promise<Iss return postJSON(url, data); } -export function setIssueTransition( - data: { issue: string, transition: string } -): Promise<IssueResponse> { +export function setIssueTransition(data: { + issue: string, + transition: string +}): Promise<IssueResponse> { const url = '/api/issues/do_transition'; return postJSON(url, data); } diff --git a/server/sonar-web/src/main/js/api/organizations.js b/server/sonar-web/src/main/js/api/organizations.js index 7ca0263ba81..8daf98ac96d 100644 --- a/server/sonar-web/src/main/js/api/organizations.js +++ b/server/sonar-web/src/main/js/api/organizations.js @@ -63,9 +63,13 @@ export const updateOrganization = (key: string, changes: {}) => export const deleteOrganization = (key: string) => post('/api/organizations/delete', { key }).catch(throwGlobalError); -export const searchMembers = ( - data: { organization?: string, p?: number, ps?: number, q?: string, selected?: string } -) => getJSON('/api/organizations/search_members', data); +export const searchMembers = (data: { + organization?: string, + p?: number, + ps?: number, + q?: string, + selected?: string +}) => getJSON('/api/organizations/search_members', data); export const addMember = (data: { login: string, organization: string }) => postJSON('/api/organizations/add_member', data).then(r => r.user); diff --git a/server/sonar-web/src/main/js/api/permissions.js b/server/sonar-web/src/main/js/api/permissions.js index f002618224a..9598197dfe7 100644 --- a/server/sonar-web/src/main/js/api/permissions.js +++ b/server/sonar-web/src/main/js/api/permissions.js @@ -130,26 +130,22 @@ export function bulkApplyTemplate(data: Object) { return post(url, data); } -export function grantTemplatePermissionToUser( - data: { - templateId: string, - login: string, - permission: string, - organization?: string - } -) { +export function grantTemplatePermissionToUser(data: { + templateId: string, + login: string, + permission: string, + organization?: string +}) { const url = '/api/permissions/add_user_to_template'; return post(url, data); } -export function revokeTemplatePermissionFromUser( - data: { - templateId: string, - login: string, - permission: string, - organization?: string - } -) { +export function revokeTemplatePermissionFromUser(data: { + templateId: string, + login: string, + permission: string, + organization?: string +}) { const url = '/api/permissions/remove_user_from_template'; return post(url, data); } diff --git a/server/sonar-web/src/main/js/api/user_groups.js b/server/sonar-web/src/main/js/api/user_groups.js index de515f119b0..fdbe521e94f 100644 --- a/server/sonar-web/src/main/js/api/user_groups.js +++ b/server/sonar-web/src/main/js/api/user_groups.js @@ -20,23 +20,33 @@ //@flow import { getJSON, post } from '../helpers/request'; -export function searchUsersGroups( - data: { f?: string, organization?: string, p?: number, ps?: number, q?: string } -) { +export function searchUsersGroups(data: { + f?: string, + organization?: string, + p?: number, + ps?: number, + q?: string +}) { const url = '/api/user_groups/search'; return getJSON(url, data); } -export function addUserToGroup( - data: { id?: string, name?: string, login?: string, organization?: string } -) { +export function addUserToGroup(data: { + id?: string, + name?: string, + login?: string, + organization?: string +}) { const url = '/api/user_groups/add_user'; return post(url, data); } -export function removeUserFromGroup( - data: { id?: string, name?: string, login?: string, organization?: string } -) { +export function removeUserFromGroup(data: { + id?: string, + name?: string, + login?: string, + organization?: string +}) { const url = '/api/user_groups/remove_user'; return post(url, data); } diff --git a/server/sonar-web/src/main/js/app/components/GlobalFooter.js b/server/sonar-web/src/main/js/app/components/GlobalFooter.js index 5cfa781fbd9..a6a0c34dd45 100644 --- a/server/sonar-web/src/main/js/app/components/GlobalFooter.js +++ b/server/sonar-web/src/main/js/app/components/GlobalFooter.js @@ -60,9 +60,13 @@ export default function GlobalFooter({ sonarqubeVersion && translateWithParameters('footer.version_x', sonarqubeVersion)} {!hideLoggedInInfo && sonarqubeVersion && ' - '} - <a href="http://www.gnu.org/licenses/lgpl-3.0.txt">{translate('footer.licence')}</a> + <a href="http://www.gnu.org/licenses/lgpl-3.0.txt"> + {translate('footer.licence')} + </a> {' - '} - <a href="http://www.sonarqube.org">{translate('footer.community')}</a> + <a href="http://www.sonarqube.org"> + {translate('footer.community')} + </a> {' - '} <a href="https://redirect.sonarsource.com/doc/home.html"> {translate('footer.documentation')} @@ -76,9 +80,15 @@ export default function GlobalFooter({ {translate('footer.plugins')} </a> {!hideLoggedInInfo && ' - '} - {!hideLoggedInInfo && <Link to="/web_api">{translate('footer.web_api')}</Link>} + {!hideLoggedInInfo && + <Link to="/web_api"> + {translate('footer.web_api')} + </Link>} {!hideLoggedInInfo && ' - '} - {!hideLoggedInInfo && <Link to="/about">{translate('footer.about')}</Link>} + {!hideLoggedInInfo && + <Link to="/about"> + {translate('footer.about')} + </Link>} </div> </div> ); diff --git a/server/sonar-web/src/main/js/app/components/GlobalFooterBranding.js b/server/sonar-web/src/main/js/app/components/GlobalFooterBranding.js index bfe622734c1..5e7d3719a3c 100644 --- a/server/sonar-web/src/main/js/app/components/GlobalFooterBranding.js +++ b/server/sonar-web/src/main/js/app/components/GlobalFooterBranding.js @@ -23,13 +23,14 @@ import React from 'react'; export default function GlobalFooterBranding() { return ( <div> - This application is based on - {' '} - <a href="http://www.sonarqube.org/" title="SonarQube™">SonarQube™</a> - {' '} - but is <strong>not</strong> an official version provided by - {' '} - <a href="http://www.sonarsource.com" title="SonarSource SA">SonarSource SA</a>. + This application is based on{' '} + <a href="http://www.sonarqube.org/" title="SonarQube™"> + SonarQube™ + </a>{' '} + but is <strong>not</strong> an official version provided by{' '} + <a href="http://www.sonarsource.com" title="SonarSource SA"> + SonarSource SA + </a>. </div> ); } diff --git a/server/sonar-web/src/main/js/app/components/GlobalFooterForSonarQubeDotCom.js b/server/sonar-web/src/main/js/app/components/GlobalFooterForSonarQubeDotCom.js index ab8ec94f97a..f2763723da2 100644 --- a/server/sonar-web/src/main/js/app/components/GlobalFooterForSonarQubeDotCom.js +++ b/server/sonar-web/src/main/js/app/components/GlobalFooterForSonarQubeDotCom.js @@ -26,24 +26,37 @@ export default function GlobalFooterForSonarQubeDotCom() { return ( <div id="footer" className="page-footer page-container"> <div> - © 2008-2017, SonarCloud.io by - {' '} - <a href="http://www.sonarsource.com" title="SonarSource SA">SonarSource SA</a> + © 2008-2017, SonarCloud.io by{' '} + <a href="http://www.sonarsource.com" title="SonarSource SA"> + SonarSource SA + </a> . All rights reserved. </div> <div> - <a href="https://about.sonarcloud.io/news/">{translate('footer.news')}</a> + <a href="https://about.sonarcloud.io/news/"> + {translate('footer.news')} + </a> {' - '} - <a href="https://about.sonarcloud.io/terms.pdf">{translate('footer.terms')}</a> + <a href="https://about.sonarcloud.io/terms.pdf"> + {translate('footer.terms')} + </a> {' - '} - <a href="https://twitter.com/sonarqube">{translate('footer.twitter')}</a> + <a href="https://twitter.com/sonarqube"> + {translate('footer.twitter')} + </a> {' - '} - <a href="https://about.sonarcloud.io/get-started/">{translate('footer.get_started')}</a> + <a href="https://about.sonarcloud.io/get-started/"> + {translate('footer.get_started')} + </a> {' - '} - <a href="https://about.sonarcloud.io/contact/">{translate('footer.help')}</a> + <a href="https://about.sonarcloud.io/contact/"> + {translate('footer.help')} + </a> {' - '} - <Link to="/about">{translate('footer.about')}</Link> + <Link to="/about"> + {translate('footer.about')} + </Link> </div> </div> ); diff --git a/server/sonar-web/src/main/js/app/components/MarkdownHelp.js b/server/sonar-web/src/main/js/app/components/MarkdownHelp.js index e957fe31bdd..a5ac92da031 100644 --- a/server/sonar-web/src/main/js/app/components/MarkdownHelp.js +++ b/server/sonar-web/src/main/js/app/components/MarkdownHelp.js @@ -34,20 +34,26 @@ export default function MarkdownHelp() { <tbody> <tr> <td>*this text is bold*</td> - <td className="markdown"><strong>this text is bold</strong></td> + <td className="markdown"> + <strong>this text is bold</strong> + </td> </tr> <tr> - <td>{'http://sonarqube.org'}</td> + <td> + {'http://sonarqube.org'} + </td> <td className="markdown"> - <a href="http://sonarqube.org">{'http://sonarqube.org'}</a> + <a href="http://sonarqube.org"> + {'http://sonarqube.org'} + </a> </td> </tr> <tr> - <td className="text-top"> - [SonarQube™ Home Page](http://www.sonarqube.org) - </td> + <td className="text-top">[SonarQube™ Home Page](http://www.sonarqube.org)</td> <td className="markdown text-top"> - <a href="http://www.sonarqube.org" target="_blank">SonarQube™ Home Page</a> + <a href="http://www.sonarqube.org" target="_blank"> + SonarQube™ Home Page + </a> </td> </tr> <tr> @@ -94,15 +100,20 @@ export default function MarkdownHelp() { </tr> <tr> <td className="text-top">``Lists#newArrayList()``</td> - <td className="markdown text-top"><code>Lists#newArrayList()</code></td> + <td className="markdown text-top"> + <code>Lists#newArrayList()</code> + </td> </tr> <tr> <td className="text-top"> ``<br /> // code on multiple lines<br /> - {'public void foo() {'}<br /> - {'// do some logic here'}<br /> - {'}'}<br /> + {'public void foo() {'} + <br /> + {'// do some logic here'} + <br /> + {'}'} + <br /> `` </td> <td className="markdown text-top"> diff --git a/server/sonar-web/src/main/js/app/components/NotFound.js b/server/sonar-web/src/main/js/app/components/NotFound.js index c3191e6b8ea..b3254b82fbc 100644 --- a/server/sonar-web/src/main/js/app/components/NotFound.js +++ b/server/sonar-web/src/main/js/app/components/NotFound.js @@ -25,10 +25,10 @@ export default function NotFound() { return ( <SimpleContainer> <h2 className="big-spacer-bottom">The page you were looking for does not exist.</h2> - <p className="spacer-bottom"> - You may have mistyped the address or the page may have moved. + <p className="spacer-bottom">You may have mistyped the address or the page may have moved.</p> + <p> + <Link to="/">Go back to the homepage</Link> </p> - <p><Link to="/">Go back to the homepage</Link></p> </SimpleContainer> ); } diff --git a/server/sonar-web/src/main/js/app/components/ProjectContainer.js b/server/sonar-web/src/main/js/app/components/ProjectContainer.js index 472f974fa03..06898e30d8d 100644 --- a/server/sonar-web/src/main/js/app/components/ProjectContainer.js +++ b/server/sonar-web/src/main/js/app/components/ProjectContainer.js @@ -41,7 +41,7 @@ class ProjectContainer extends React.PureComponent { qualifier: string }, fetchProject: string => Promise<*>, - receiveComponents: Array<*> => void + receiveComponents: (Array<*>) => void }; componentDidMount() { diff --git a/server/sonar-web/src/main/js/app/components/extensions/ExtensionNotFound.js b/server/sonar-web/src/main/js/app/components/extensions/ExtensionNotFound.js index a634c3556d2..330b818f931 100644 --- a/server/sonar-web/src/main/js/app/components/extensions/ExtensionNotFound.js +++ b/server/sonar-web/src/main/js/app/components/extensions/ExtensionNotFound.js @@ -44,7 +44,9 @@ export default class ExtensionNotFound extends React.PureComponent { <p className="spacer-bottom"> You may have mistyped the address or the page may have moved. </p> - <p><Link to="/">Go back to the homepage</Link></p> + <p> + <Link to="/">Go back to the homepage</Link> + </p> </div> </div> ); diff --git a/server/sonar-web/src/main/js/app/components/help/GlobalHelp.js b/server/sonar-web/src/main/js/app/components/help/GlobalHelp.js index 6f941b93f4b..ffc57095a47 100644 --- a/server/sonar-web/src/main/js/app/components/help/GlobalHelp.js +++ b/server/sonar-web/src/main/js/app/components/help/GlobalHelp.js @@ -68,7 +68,7 @@ export default class GlobalHelp extends React.PureComponent { } }; - renderMenuItem = (section: string) => ( + renderMenuItem = (section: string) => <li key={section}> <a className={classNames({ active: section === this.state.section })} @@ -77,16 +77,14 @@ export default class GlobalHelp extends React.PureComponent { onClick={this.handleSectionClick}> {translate('help.section', section)} </a> - </li> - ); + </li>; - renderMenu = () => ( + renderMenu = () => <ul className="side-tabs-menu"> {(this.props.currentUser.isLoggedIn ? ['shortcuts', 'tutorials', 'links'] : ['shortcuts', 'links']).map(this.renderMenuItem)} - </ul> - ); + </ul>; render() { return ( @@ -96,9 +94,10 @@ export default class GlobalHelp extends React.PureComponent { className="modal modal-medium" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <div className="modal-head"> - <h2>{translate('help')}</h2> + <h2> + {translate('help')} + </h2> </div> <div className="side-tabs-layout"> @@ -115,7 +114,6 @@ export default class GlobalHelp extends React.PureComponent { {translate('close')} </a> </div> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/app/components/help/LinksHelp.js b/server/sonar-web/src/main/js/app/components/help/LinksHelp.js index b84c28222d5..c541d5fd7a5 100644 --- a/server/sonar-web/src/main/js/app/components/help/LinksHelp.js +++ b/server/sonar-web/src/main/js/app/components/help/LinksHelp.js @@ -27,10 +27,14 @@ type Props = { onClose: () => void }; export default function LinksHelp({ onClose }: Props) { return ( <div> - <h2 className="spacer-top spacer-bottom">{translate('help.section.links')}</h2> + <h2 className="spacer-top spacer-bottom"> + {translate('help.section.links')} + </h2> <p className="spacer-bottom"> - <a href="http://www.sonarqube.org">{translate('footer.community')}</a> + <a href="http://www.sonarqube.org"> + {translate('footer.community')} + </a> </p> <p className="spacer-bottom"> @@ -52,11 +56,15 @@ export default function LinksHelp({ onClose }: Props) { </p> <p className="spacer-bottom"> - <Link to="/web_api" onClick={onClose}>{translate('footer.web_api')}</Link> + <Link to="/web_api" onClick={onClose}> + {translate('footer.web_api')} + </Link> </p> <p> - <Link to="/about" onClick={onClose}>{translate('footer.about')}</Link> + <Link to="/about" onClick={onClose}> + {translate('footer.about')} + </Link> </p> </div> ); diff --git a/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js b/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js index ac2a737796e..3ce8b842da5 100644 --- a/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js +++ b/server/sonar-web/src/main/js/app/components/help/LinksHelpSonarCloud.js @@ -27,34 +27,50 @@ type Props = { onClose: () => void }; export default function LinksHelpSonarCloud({ onClose }: Props) { return ( <div> - <h2 className="spacer-top spacer-bottom">{translate('help.section.links')}</h2> + <h2 className="spacer-top spacer-bottom"> + {translate('help.section.links')} + </h2> <p className="spacer-bottom"> - <a href="https://about.sonarcloud.io/news/">{translate('footer.news')}</a> + <a href="https://about.sonarcloud.io/news/"> + {translate('footer.news')} + </a> </p> <p className="spacer-bottom"> - <a href="https://about.sonarcloud.io/terms.pdf">{translate('footer.terms')}</a> + <a href="https://about.sonarcloud.io/terms.pdf"> + {translate('footer.terms')} + </a> </p> <p className="spacer-bottom"> - <a href="https://twitter.com/sonarqube">{translate('footer.twitter')}</a> + <a href="https://twitter.com/sonarqube"> + {translate('footer.twitter')} + </a> </p> <p className="spacer-bottom"> - <a href="https://about.sonarcloud.io/get-started/">{translate('footer.get_started')}</a> + <a href="https://about.sonarcloud.io/get-started/"> + {translate('footer.get_started')} + </a> </p> <p className="spacer-bottom"> - <a href="https://about.sonarcloud.io/contact/">{translate('footer.help')}</a> + <a href="https://about.sonarcloud.io/contact/"> + {translate('footer.help')} + </a> </p> <p className="spacer-bottom"> - <Link to="/web_api" onClick={onClose}>{translate('footer.web_api')}</Link> + <Link to="/web_api" onClick={onClose}> + {translate('footer.web_api')} + </Link> </p> <p> - <Link to="/about" onClick={onClose}>{translate('footer.about')}</Link> + <Link to="/about" onClick={onClose}> + {translate('footer.about')} + </Link> </p> </div> ); diff --git a/server/sonar-web/src/main/js/app/components/help/ShortcutsHelp.js b/server/sonar-web/src/main/js/app/components/help/ShortcutsHelp.js index 1787524f5dc..feb27478d89 100644 --- a/server/sonar-web/src/main/js/app/components/help/ShortcutsHelp.js +++ b/server/sonar-web/src/main/js/app/components/help/ShortcutsHelp.js @@ -24,12 +24,16 @@ import { translate } from '../../../helpers/l10n'; export default function ShortcutsHelp() { return ( <div> - <h2 className="spacer-top spacer-bottom">{translate('help.section.shortcuts')}</h2> + <h2 className="spacer-top spacer-bottom"> + {translate('help.section.shortcuts')} + </h2> <div className="columns"> <div className="column-half"> <div className="spacer-bottom"> - <h3 className="shortcuts-section-title">{translate('shortcuts.section.global')}</h3> + <h3 className="shortcuts-section-title"> + {translate('shortcuts.section.global')} + </h3> <ul className="shortcuts-list"> <li> <span className="shortcut-button spacer-right">s</span> @@ -42,7 +46,9 @@ export default function ShortcutsHelp() { </ul> </div> - <h3 className="shortcuts-section-title">{translate('shortcuts.section.rules')}</h3> + <h3 className="shortcuts-section-title"> + {translate('shortcuts.section.rules')} + </h3> <ul className="shortcuts-list"> <li> <span className="shortcut-button little-spacer-right">↑</span> @@ -69,7 +75,9 @@ export default function ShortcutsHelp() { </div> <div className="column-half"> - <h3 className="shortcuts-section-title">{translate('shortcuts.section.issues')}</h3> + <h3 className="shortcuts-section-title"> + {translate('shortcuts.section.issues')} + </h3> <ul className="shortcuts-list"> <li> <span className="shortcut-button little-spacer-right">↑</span> diff --git a/server/sonar-web/src/main/js/app/components/help/TutorialsHelp.js b/server/sonar-web/src/main/js/app/components/help/TutorialsHelp.js index 5202060d984..82cc931e9f5 100644 --- a/server/sonar-web/src/main/js/app/components/help/TutorialsHelp.js +++ b/server/sonar-web/src/main/js/app/components/help/TutorialsHelp.js @@ -31,8 +31,12 @@ export default function TutorialsHelp({ onTutorialSelect }: Props) { return ( <div> - <h2 className="spacer-top spacer-bottom">{translate('help.section.tutorials')}</h2> - <a href="#" onClick={handleClick}>{translate('tutorials.onboarding')}</a> + <h2 className="spacer-top spacer-bottom"> + {translate('help.section.tutorials')} + </h2> + <a href="#" onClick={handleClick}> + {translate('tutorials.onboarding')} + </a> </div> ); } diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js index 42c3efaa232..c719a568c70 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js @@ -61,8 +61,12 @@ class ComponentNavBreadcrumbs extends React.PureComponent { to={{ pathname: '/dashboard', query: { id: item.key } }} className="link-base-color"> {index === breadcrumbs.length - 1 - ? <strong>{itemName}</strong> - : <span>{itemName}</span>} + ? <strong> + {itemName} + </strong> + : <span> + {itemName} + </span>} </Link> {index < breadcrumbs.length - 1 && <span className="slash-separator" />} </span> @@ -93,8 +97,8 @@ class ComponentNavBreadcrumbs extends React.PureComponent { } const mapStateToProps = (state, ownProps) => ({ - organization: ownProps.component.organization && - getOrganizationByKey(state, ownProps.component.organization), + organization: + ownProps.component.organization && getOrganizationByKey(state, ownProps.component.organization), shouldOrganizationBeDisplayed: areThereCustomOrganizations(state) }); diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.js b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.js index 78d72cb3943..fdad7ec0280 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.js +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavMeta.js @@ -39,8 +39,7 @@ export default class ComponentNavMeta extends React.PureComponent { : translate('component_navigation.status.in_progress'); metaList.push( <li key="isInProgress" data-toggle="tooltip" title={tooltip}> - <i className="spinner" style={{ marginTop: '-1px' }} /> - {' '} + <i className="spinner" style={{ marginTop: '-1px' }} />{' '} <span className="text-info">{translate('background_task.status.IN_PROGRESS')}</span> </li> ); @@ -59,22 +58,34 @@ export default class ComponentNavMeta extends React.PureComponent { : translate('component_navigation.status.failed'); metaList.push( <li key="isFailed" data-toggle="tooltip" title={tooltip}> - <span className="badge badge-danger">{translate('background_task.status.FAILED')}</span> + <span className="badge badge-danger"> + {translate('background_task.status.FAILED')} + </span> </li> ); } if (this.props.analysisDate) { - metaList.push(<li key="analysisDate">{moment(this.props.analysisDate).format('LLL')}</li>); + metaList.push( + <li key="analysisDate"> + {moment(this.props.analysisDate).format('LLL')} + </li> + ); } if (this.props.version) { - metaList.push(<li key="version">Version {this.props.version}</li>); + metaList.push( + <li key="version"> + Version {this.props.version} + </li> + ); } return ( <div className="navbar-context-meta"> - <ul className="list-inline">{metaList}</ul> + <ul className="list-inline"> + {metaList} + </ul> </div> ); } diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js index 168ab4f188a..d0bac2720ea 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavBranding.js @@ -43,7 +43,9 @@ class GlobalNavBranding extends React.PureComponent { 'navbar-brand' + (this.props.customLogoUrl ? ' navbar-brand-custom' : ''); return ( <div className="navbar-header"> - <Link to={homeController} className={homeLinkClassName}>{this.renderLogo()}</Link> + <Link to={homeController} className={homeLinkClassName}> + {this.renderLogo()} + </Link> </div> ); } diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.js b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.js index 0a88701f045..5b99dd06c92 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.js +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.js @@ -61,9 +61,10 @@ export default class GlobalNavMenu extends React.PureComponent { } renderIssuesLink() { - const query = this.props.currentUser.isLoggedIn && isMySet() - ? { resolved: 'false', myIssues: 'true' } - : { resolved: 'false' }; + const query = + this.props.currentUser.isLoggedIn && isMySet() + ? { resolved: 'false', myIssues: 'true' } + : { resolved: 'false' }; const active = this.props.location.pathname === 'issues'; return ( <li> @@ -120,7 +121,9 @@ export default class GlobalNavMenu extends React.PureComponent { renderGlobalPageLink = ({ key, name }) => { return ( <li key={key}> - <Link to={`/extension/${key}`}>{name}</Link> + <Link to={`/extension/${key}`}> + {name} + </Link> </li> ); }; diff --git a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.js b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.js index a4e39e09398..72ae61d3b22 100644 --- a/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.js +++ b/server/sonar-web/src/main/js/app/components/nav/global/GlobalNavUser.js @@ -123,7 +123,9 @@ export default class GlobalNavUser extends React.PureComponent { <ul className="dropdown-menu dropdown-menu-right"> <li className="dropdown-item"> <div className="text-ellipsis text-muted" title={currentUser.name}> - <strong>{currentUser.name}</strong> + <strong> + {currentUser.name} + </strong> </div> {currentUser.email != null && <div @@ -134,22 +136,30 @@ export default class GlobalNavUser extends React.PureComponent { </li> <li className="divider" /> <li> - <Link to="/account" onClick={this.closeDropdown}>{translate('my_account.page')}</Link> + <Link to="/account" onClick={this.closeDropdown}> + {translate('my_account.page')} + </Link> </li> {hasOrganizations && <li role="separator" className="divider" />} {hasOrganizations && - <li className="dropdown-header spacer-left">{translate('my_organizations')}</li>} + <li className="dropdown-header spacer-left"> + {translate('my_organizations')} + </li>} {hasOrganizations && - sortBy(organizations, org => org.name.toLowerCase()).map(organization => ( + sortBy(organizations, org => org.name.toLowerCase()).map(organization => <li key={organization.key}> <OrganizationLink organization={organization} onClick={this.closeDropdown}> - <span className="spacer-left">{organization.name}</span> + <span className="spacer-left"> + {organization.name} + </span> </OrganizationLink> </li> - ))} + )} {hasOrganizations && <li role="separator" className="divider" />} <li> - <a onClick={this.handleLogout} href="#">{translate('layout.logout')}</a> + <a onClick={this.handleLogout} href="#"> + {translate('layout.logout')} + </a> </li> </ul>} </li> diff --git a/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.js b/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.js index 50454783e43..88750547c4a 100644 --- a/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.js +++ b/server/sonar-web/src/main/js/app/components/nav/settings/SettingsNav.js @@ -52,7 +52,9 @@ class SettingsNav extends React.PureComponent { renderExtension = ({ key, name }) => { return ( <li key={key}> - <Link to={`/admin/extension/${key}`} activeClassName="active">{name}</Link> + <Link to={`/admin/extension/${key}`} activeClassName="active"> + {name} + </Link> </li> ); }; diff --git a/server/sonar-web/src/main/js/app/components/search/Search.js b/server/sonar-web/src/main/js/app/components/search/Search.js index adfd90a8b83..04098668141 100644 --- a/server/sonar-web/src/main/js/app/components/search/Search.js +++ b/server/sonar-web/src/main/js/app/components/search/Search.js @@ -294,7 +294,7 @@ export default class Search extends React.PureComponent { this.nodes[component] = node; }; - renderResult = (component: Component) => ( + renderResult = (component: Component) => <SearchResult appState={this.props.appState} component={component} @@ -305,14 +305,12 @@ export default class Search extends React.PureComponent { organizations={this.state.organizations} projects={this.state.projects} selected={this.state.selected === component.key} - /> - ); + />; - renderNoResults = () => ( + renderNoResults = () => <div className="navbar-search-no-results"> {translateWithParameters('no_results_for_x', this.state.query)} - </div> - ); + </div>; render() { const dropdownClassName = classNames('dropdown', 'navbar-search', { open: this.state.open }); diff --git a/server/sonar-web/src/main/js/app/components/search/SearchResult.js b/server/sonar-web/src/main/js/app/components/search/SearchResult.js index 252c82fc441..7f6337dcda0 100644 --- a/server/sonar-web/src/main/js/app/components/search/SearchResult.js +++ b/server/sonar-web/src/main/js/app/components/search/SearchResult.js @@ -93,7 +93,9 @@ export default class SearchResult extends React.PureComponent { const organization = this.props.organizations[component.organization]; return organization - ? <div className="navbar-search-item-right text-muted-2">{organization.name}</div> + ? <div className="navbar-search-item-right text-muted-2"> + {organization.name} + </div> : null; }; @@ -104,7 +106,9 @@ export default class SearchResult extends React.PureComponent { const project = this.props.projects[component.project]; return project - ? <div className="navbar-search-item-right text-muted-2">{project.name}</div> + ? <div className="navbar-search-item-right text-muted-2"> + {project.name} + </div> : null; }; @@ -127,7 +131,6 @@ export default class SearchResult extends React.PureComponent { onClick={this.props.onClose} onMouseEnter={this.handleMouseEnter} to={getProjectUrl(component.key)}> - <span className="navbar-search-item-icons little-spacer-right"> {component.isFavorite && <FavoriteIcon favorite={true} size={12} />} {!component.isFavorite && component.isRecentlyBrowsed && <ClockIcon size={12} />} @@ -139,11 +142,12 @@ export default class SearchResult extends React.PureComponent { className="navbar-search-item-match" dangerouslySetInnerHTML={{ __html: component.match }} /> - : <span className="navbar-search-item-match">{component.name}</span>} + : <span className="navbar-search-item-match"> + {component.name} + </span>} {this.renderOrganization(component)} {this.renderProject(component)} - </Link> </Tooltip> </li> diff --git a/server/sonar-web/src/main/js/app/components/search/SearchResults.js b/server/sonar-web/src/main/js/app/components/search/SearchResults.js index 96be176aea6..ceffcd262db 100644 --- a/server/sonar-web/src/main/js/app/components/search/SearchResults.js +++ b/server/sonar-web/src/main/js/app/components/search/SearchResults.js @@ -77,7 +77,9 @@ export default class SearchResults extends React.PureComponent { }); return renderedComponents.length > 0 - ? <ul className="menu">{renderedComponents}</ul> + ? <ul className="menu"> + {renderedComponents} + </ul> : this.props.renderNoResults(); } } diff --git a/server/sonar-web/src/main/js/app/components/search/SearchShowMore.js b/server/sonar-web/src/main/js/app/components/search/SearchShowMore.js index d3a0282849f..a36c98368ce 100644 --- a/server/sonar-web/src/main/js/app/components/search/SearchShowMore.js +++ b/server/sonar-web/src/main/js/app/components/search/SearchShowMore.js @@ -69,7 +69,9 @@ export default class SearchShowMore extends React.PureComponent { ) }} /> - <span>{translate('show_more')}</span> + <span> + {translate('show_more')} + </span> </a> </DeferredSpinner> </li> diff --git a/server/sonar-web/src/main/js/app/components/search/__tests__/SearchResults-test.js b/server/sonar-web/src/main/js/app/components/search/__tests__/SearchResults-test.js index fbba231e38f..c08bba6e14b 100644 --- a/server/sonar-web/src/main/js/app/components/search/__tests__/SearchResults-test.js +++ b/server/sonar-web/src/main/js/app/components/search/__tests__/SearchResults-test.js @@ -32,7 +32,10 @@ it('renders different components and dividers between them', () => { onMoreClick={jest.fn()} onSelect={jest.fn()} renderNoResults={() => <div />} - renderResult={component => <span key={component.key}>{component.name}</span>} + renderResult={component => + <span key={component.key}> + {component.name} + </span>} results={{ TRK: [component('foo'), component('bar')], BRC: [component('qwe', 'BRC'), component('qux', 'BRC')], @@ -54,7 +57,10 @@ it('renders "Show More" link', () => { onMoreClick={jest.fn()} onSelect={jest.fn()} renderNoResults={() => <div />} - renderResult={component => <span key={component.key}>{component.name}</span>} + renderResult={component => + <span key={component.key}> + {component.name} + </span>} results={{ TRK: [component('foo'), component('bar')], BRC: [component('qwe', 'BRC'), component('qux', 'BRC')] diff --git a/server/sonar-web/src/main/js/app/styles/boxed-group.css b/server/sonar-web/src/main/js/app/styles/boxed-group.css index f41ae1927d6..0fc395a3280 100644 --- a/server/sonar-web/src/main/js/app/styles/boxed-group.css +++ b/server/sonar-web/src/main/js/app/styles/boxed-group.css @@ -105,14 +105,16 @@ height: 0; } - 50%, 100% { + 50%, + 100% { width: 100%; height: 100%; } } @keyframes border-bottom-border { - 0%, 50% { + 0%, + 50% { width: 0; height: 0; border-width: 0; diff --git a/server/sonar-web/src/main/js/app/utils/startReactApp.js b/server/sonar-web/src/main/js/app/utils/startReactApp.js index 861f20199a9..18f4ba69ed7 100644 --- a/server/sonar-web/src/main/js/app/utils/startReactApp.js +++ b/server/sonar-web/src/main/js/app/utils/startReactApp.js @@ -132,8 +132,12 @@ const startReactApp = () => { <Route component={DefaultHelmetContainer}> <Route component={LocalizationContainer}> <Route component={SimpleContainer}> - <Route path="maintenance">{maintenanceRoutes}</Route> - <Route path="setup">{setupRoutes}</Route> + <Route path="maintenance"> + {maintenanceRoutes} + </Route> + <Route path="setup"> + {setupRoutes} + </Route> </Route> <Route component={MigrationContainer}> @@ -142,7 +146,6 @@ const startReactApp = () => { </Route> <Route path="/" component={App}> - <IndexRoute component={Landing} /> <Route component={GlobalContainer}> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.js b/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.js index 1ed36c5127b..92e08353bbc 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutCleanCode.js @@ -26,9 +26,13 @@ const link = 'https://redirect.sonarsource.com/doc/issues.html'; export default function AboutCleanCode() { return ( <div className="boxed-group"> - <h2>{translate('about_page.clean_code')}</h2> + <h2> + {translate('about_page.clean_code')} + </h2> <div className="boxed-group-inner"> - <p className="about-page-text">{translate('about_page.clean_code.text')}</p> + <p className="about-page-text"> + {translate('about_page.clean_code.text')} + </p> <ReadMore link={link} /> </div> </div> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.js b/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.js index dffb976146d..2a87ba96a96 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutLanguages.js @@ -48,18 +48,26 @@ const half = (languages.length + 1) / 2; export default function AboutLanguages() { return ( <div className="boxed-group"> - <h2>{translate('about_page.languages')}</h2> + <h2> + {translate('about_page.languages')} + </h2> <div className="boxed-group-inner"> - <p className="about-page-text">{translate('about_page.languages.text')}</p> + <p className="about-page-text"> + {translate('about_page.languages.text')} + </p> <ul className="about-page-languages"> - {languages.slice(0, half).map((language, index) => ( + {languages.slice(0, half).map((language, index) => <li key={index}> - <a href={languages[index].url}>{languages[index].name}</a> + <a href={languages[index].url}> + {languages[index].name} + </a> <br /> {index + half < languages.length && - <a href={languages[index + half].url}>{languages[index + half].name}</a>} + <a href={languages[index + half].url}> + {languages[index + half].name} + </a>} </li> - ))} + )} </ul> </div> </div> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.js b/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.js index f959dd97cbb..1e65f5f646a 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutLeakPeriod.js @@ -26,9 +26,13 @@ const link = 'https://redirect.sonarsource.com/doc/fix-the-leak.html'; export default function AboutLeakPeriod() { return ( <div className="boxed-group"> - <h2>{translate('about_page.fix_the_leak')}</h2> + <h2> + {translate('about_page.fix_the_leak')} + </h2> <div className="boxed-group-inner"> - <p className="about-page-text">{translate('about_page.fix_the_leak.text')}</p> + <p className="about-page-text"> + {translate('about_page.fix_the_leak.text')} + </p> <ReadMore link={link} /> </div> </div> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.js b/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.js index e83d8d77b95..8499b680883 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutQualityGates.js @@ -26,9 +26,13 @@ const link = 'https://redirect.sonarsource.com/doc/quality-gates.html'; export default function AboutQualityGates() { return ( <div className="boxed-group"> - <h2>{translate('about_page.quality_gates')}</h2> + <h2> + {translate('about_page.quality_gates')} + </h2> <div className="boxed-group-inner"> - <p className="about-page-text">{translate('about_page.quality_gates.text')}</p> + <p className="about-page-text"> + {translate('about_page.quality_gates.text')} + </p> <ReadMore link={link} /> </div> </div> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.js b/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.js index 503ef74807f..20c483535d5 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutQualityModel.js @@ -26,33 +26,38 @@ import CodeSmellIcon from '../../../components/icons-components/CodeSmellIcon'; export default function AboutQualityModel() { return ( <div className="boxed-group about-quality-model"> - <h2>{translate('about_page.quality_model')}</h2> + <h2> + {translate('about_page.quality_model')} + </h2> <div className="boxed-group-inner clearfix"> <div className="flex-columns"> <div className="flex-column flex-column-third"> - <div className="pull-left little-spacer-right"><BugIcon /></div> + <div className="pull-left little-spacer-right"> + <BugIcon /> + </div> <p className="about-page-text overflow-hidden"> - <strong>{translate('issue.type.BUG.plural')}</strong> - {' '} + <strong>{translate('issue.type.BUG.plural')}</strong>{' '} {translate('about_page.quality_model.bugs')} </p> </div> <div className="flex-column flex-column-third"> - <div className="pull-left little-spacer-right"><VulnerabilityIcon /></div> + <div className="pull-left little-spacer-right"> + <VulnerabilityIcon /> + </div> <p className="about-page-text overflow-hidden"> - <strong>{translate('issue.type.VULNERABILITY.plural')}</strong> - {' '} + <strong>{translate('issue.type.VULNERABILITY.plural')}</strong>{' '} {translate('about_page.quality_model.vulnerabilities')} </p> </div> <div className="flex-column flex-column-third"> - <div className="pull-left little-spacer-right"><CodeSmellIcon /></div> + <div className="pull-left little-spacer-right"> + <CodeSmellIcon /> + </div> <p className="about-page-text overflow-hidden"> - <strong>{translate('issue.type.CODE_SMELL.plural')}</strong> - {' '} + <strong>{translate('issue.type.CODE_SMELL.plural')}</strong>{' '} {translate('about_page.quality_model.code_smells')} </p> </div> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModelForSonarQubeDotCom.js b/server/sonar-web/src/main/js/apps/about/components/AboutQualityModelForSonarQubeDotCom.js index 6f7ff4125cb..26b60c32f88 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutQualityModelForSonarQubeDotCom.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutQualityModelForSonarQubeDotCom.js @@ -26,15 +26,18 @@ import CodeSmellIconForSonarQubeDotCom from './CodeSmellIconForSonarQubeDotCom'; export default function AboutQualityModelForSonarQubeDotCom() { return ( <div className="boxed-group about-quality-model sqcom-about-quality-model"> - <h2>{translate('about_page.quality_model')}</h2> + <h2> + {translate('about_page.quality_model')} + </h2> <div className="boxed-group-inner clearfix"> <div className="flex-columns"> <div className="flex-column flex-column-third"> - <div className="pull-left little-spacer-right"><BugIconForSonarQubeDotCom /></div> + <div className="pull-left little-spacer-right"> + <BugIconForSonarQubeDotCom /> + </div> <p className="about-page-text overflow-hidden"> - <strong>{translate('issue.type.BUG.plural')}</strong> - {' '} + <strong>{translate('issue.type.BUG.plural')}</strong>{' '} {translate('about_page.quality_model.bugs')} </p> </div> @@ -44,8 +47,7 @@ export default function AboutQualityModelForSonarQubeDotCom() { <VulnerabilityIconForSonarQubeDotCom /> </div> <p className="about-page-text overflow-hidden"> - <strong>{translate('issue.type.VULNERABILITY.plural')}</strong> - {' '} + <strong>{translate('issue.type.VULNERABILITY.plural')}</strong>{' '} {translate('about_page.quality_model.vulnerabilities')} </p> </div> @@ -55,8 +57,7 @@ export default function AboutQualityModelForSonarQubeDotCom() { <CodeSmellIconForSonarQubeDotCom /> </div> <p className="about-page-text overflow-hidden"> - <strong>{translate('issue.type.CODE_SMELL.plural')}</strong> - {' '} + <strong>{translate('issue.type.CODE_SMELL.plural')}</strong>{' '} {translate('about_page.quality_model.code_smells')} </p> </div> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutRulesForSonarQubeDotCom.js b/server/sonar-web/src/main/js/apps/about/components/AboutRulesForSonarQubeDotCom.js index da03f74b956..5add8a0eab1 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutRulesForSonarQubeDotCom.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutRulesForSonarQubeDotCom.js @@ -68,7 +68,9 @@ export default function AboutRulesForSonarQubeDotCom(props: Props) { className="sqcom-about-rules-link"> C# </Link> - <Link to={getRulesUrl(null, organization)} className="button">And More</Link> + <Link to={getRulesUrl(null, organization)} className="button"> + And More + </Link> </div> </div> ); diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutScanners.js b/server/sonar-web/src/main/js/apps/about/components/AboutScanners.js index 8396fa6289b..2e8ffe89e0e 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutScanners.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutScanners.js @@ -50,11 +50,15 @@ const scanners = [ export default function AboutScanners() { return ( <div className="boxed-group"> - <h2>{translate('about_page.scanners')}</h2> + <h2> + {translate('about_page.scanners')} + </h2> <div className="boxed-group-inner"> - <p className="about-page-text">{translate('about_page.scanners.text')}</p> + <p className="about-page-text"> + {translate('about_page.scanners.text')} + </p> <div className="about-page-analyzers"> - {scanners.map(scanner => ( + {scanners.map(scanner => <a key={scanner.key} className="about-page-analyzer-box" href={scanner.link}> <img src={`${window.baseUrl}/images/scanner-logos/${scanner.key}.svg`} @@ -62,7 +66,7 @@ export default function AboutScanners() { alt={translate('about_page.scanners', scanner.key)} /> </a> - ))} + )} </div> </div> </div> diff --git a/server/sonar-web/src/main/js/apps/about/components/AboutStandards.js b/server/sonar-web/src/main/js/apps/about/components/AboutStandards.js index d28330408b6..4fc1b9633ad 100644 --- a/server/sonar-web/src/main/js/apps/about/components/AboutStandards.js +++ b/server/sonar-web/src/main/js/apps/about/components/AboutStandards.js @@ -43,9 +43,13 @@ export default function AboutStandards(props: Props) { return ( <div className="boxed-group"> - <h2>{translate('about_page.standards')}</h2> + <h2> + {translate('about_page.standards')} + </h2> <div className="boxed-group-inner"> - <p className="about-page-text">{translate('about_page.standards.text')}</p> + <p className="about-page-text"> + {translate('about_page.standards.text')} + </p> <div className="spacer-top"> <ul className="list-inline"> diff --git a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.js b/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.js index eac9de1a53b..8ad560410b1 100644 --- a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.js +++ b/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypes.js @@ -50,7 +50,9 @@ export default function EntryIssueTypes({ bugs, codeSmells, loading, vulnerabili </Link> </td> <td> - <span className="little-spacer-right"><BugIcon /></span> + <span className="little-spacer-right"> + <BugIcon /> + </span> {translate('issue.type.BUG.plural')} </td> </tr> @@ -67,7 +69,9 @@ export default function EntryIssueTypes({ bugs, codeSmells, loading, vulnerabili </Link> </td> <td> - <span className="little-spacer-right"><VulnerabilityIcon /></span> + <span className="little-spacer-right"> + <VulnerabilityIcon /> + </span> {translate('issue.type.VULNERABILITY.plural')} </td> </tr> @@ -80,7 +84,9 @@ export default function EntryIssueTypes({ bugs, codeSmells, loading, vulnerabili </Link> </td> <td> - <span className="little-spacer-right"><CodeSmellIcon /></span> + <span className="little-spacer-right"> + <CodeSmellIcon /> + </span> {translate('issue.type.CODE_SMELL.plural')} </td> </tr> diff --git a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesForSonarQubeDotCom.js b/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesForSonarQubeDotCom.js index 0dbe782918a..1bc8bd60d06 100644 --- a/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesForSonarQubeDotCom.js +++ b/server/sonar-web/src/main/js/apps/about/components/EntryIssueTypesForSonarQubeDotCom.js @@ -55,7 +55,9 @@ export default function EntryIssueTypesForSonarQubeDotCom({ </Link> </td> <td> - <span className="little-spacer-right"><BugIconForSonarQubeDotCom /></span> + <span className="little-spacer-right"> + <BugIconForSonarQubeDotCom /> + </span> {translate('issue.type.BUG.plural')} </td> </tr> @@ -72,7 +74,9 @@ export default function EntryIssueTypesForSonarQubeDotCom({ </Link> </td> <td> - <span className="little-spacer-right"><VulnerabilityIconForSonarQubeDotCom /></span> + <span className="little-spacer-right"> + <VulnerabilityIconForSonarQubeDotCom /> + </span> {translate('issue.type.VULNERABILITY.plural')} </td> </tr> @@ -85,7 +89,9 @@ export default function EntryIssueTypesForSonarQubeDotCom({ </Link> </td> <td> - <span className="little-spacer-right"><CodeSmellIconForSonarQubeDotCom /></span> + <span className="little-spacer-right"> + <CodeSmellIconForSonarQubeDotCom /> + </span> {translate('issue.type.CODE_SMELL.plural')} </td> </tr> diff --git a/server/sonar-web/src/main/js/apps/about/components/ReadMore.js b/server/sonar-web/src/main/js/apps/about/components/ReadMore.js index 7318f5eb703..47a2b0e442a 100644 --- a/server/sonar-web/src/main/js/apps/about/components/ReadMore.js +++ b/server/sonar-web/src/main/js/apps/about/components/ReadMore.js @@ -29,7 +29,9 @@ export default class ReadMore extends React.PureComponent { return ( <div className="big-spacer-top"> <a className="about-page-link-more" href={this.props.link} target="_blank"> - <span>{translate('about_page.read_more')}</span> + <span> + {translate('about_page.read_more')} + </span> </a> </div> ); diff --git a/server/sonar-web/src/main/js/apps/about/sonarqube-dot-com-styles.css b/server/sonar-web/src/main/js/apps/about/sonarqube-dot-com-styles.css index 1895646e681..598e1f77297 100644 --- a/server/sonar-web/src/main/js/apps/about/sonarqube-dot-com-styles.css +++ b/server/sonar-web/src/main/js/apps/about/sonarqube-dot-com-styles.css @@ -22,7 +22,8 @@ align-items: center; } -.sqcom-about-page-intro {} +.sqcom-about-page-intro { +} .sqcom-about-page-intro > h1 { line-height: 56px; diff --git a/server/sonar-web/src/main/js/apps/account/components/Password.js b/server/sonar-web/src/main/js/apps/account/components/Password.js index 925fc4ce901..ae30647b7e0 100644 --- a/server/sonar-web/src/main/js/apps/account/components/Password.js +++ b/server/sonar-web/src/main/js/apps/account/components/Password.js @@ -81,7 +81,12 @@ export default class Password extends Component { {translate('my_profile.password.changed')} </div>} - {errors && errors.map((e, i) => <div key={i} className="alert alert-danger">{e}</div>)} + {errors && + errors.map((e, i) => + <div key={i} className="alert alert-danger"> + {e} + </div> + )} <div className="modal-field"> <label htmlFor="old_password"> diff --git a/server/sonar-web/src/main/js/apps/account/components/UserCard.js b/server/sonar-web/src/main/js/apps/account/components/UserCard.js index f1076d9894a..8b0ecc308ef 100644 --- a/server/sonar-web/src/main/js/apps/account/components/UserCard.js +++ b/server/sonar-web/src/main/js/apps/account/components/UserCard.js @@ -33,7 +33,9 @@ export default class UserCard extends React.PureComponent { <div id="avatar" className="pull-left account-user-avatar"> <Avatar email={user.email} name={user.name} size={60} /> </div> - <h1 id="name" className="pull-left">{user.name}</h1> + <h1 id="name" className="pull-left"> + {user.name} + </h1> </div> ); } diff --git a/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.js b/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.js index 71cfd434b77..28d3181d25b 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.js +++ b/server/sonar-web/src/main/js/apps/account/notifications/GlobalNotifications.js @@ -53,11 +53,13 @@ function GlobalNotifications(props: Props) { <thead> <tr> <th /> - {props.channels.map(channel => ( + {props.channels.map(channel => <th key={channel} className="text-center"> - <h4>{translate('notification.channel', channel)}</h4> + <h4> + {translate('notification.channel', channel)} + </h4> </th> - ))} + )} </tr> </thead> diff --git a/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.js b/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.js index 31c21caf958..e9655c829f4 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.js +++ b/server/sonar-web/src/main/js/apps/account/notifications/NotificationsList.js @@ -56,10 +56,12 @@ export default class NotificationsList extends React.PureComponent { return ( <tbody> - {types.map(type => ( + {types.map(type => <tr key={type}> - <td>{translate('notification.dispatcher', type)}</td> - {channels.map(channel => ( + <td> + {translate('notification.dispatcher', type)} + </td> + {channels.map(channel => <td key={channel} className="text-center"> <Checkbox checked={this.isEnabled(type, channel)} @@ -67,9 +69,9 @@ export default class NotificationsList extends React.PureComponent { onCheck={checked => this.handleCheck(type, channel, checked)} /> </td> - ))} + )} </tr> - ))} + )} </tbody> ); } diff --git a/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.js b/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.js index f79f666e9db..d774571bb83 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.js +++ b/server/sonar-web/src/main/js/apps/account/notifications/ProjectNotifications.js @@ -81,14 +81,18 @@ class ProjectNotifications extends React.PureComponent { <Organization organizationKey={project.organization} /> </span> <h4 className="display-inline-block"> - <Link to={getProjectUrl(project.key)}>{project.name}</Link> + <Link to={getProjectUrl(project.key)}> + {project.name} + </Link> </h4> </th> - {channels.map(channel => ( + {channels.map(channel => <th key={channel} className="text-center"> - <h4>{translate('notification.channel', channel)}</h4> + <h4> + {translate('notification.channel', channel)} + </h4> </th> - ))} + )} </tr> </thead> <NotificationsList diff --git a/server/sonar-web/src/main/js/apps/account/notifications/Projects.js b/server/sonar-web/src/main/js/apps/account/notifications/Projects.js index 318a53fa52a..d3b647ede1b 100644 --- a/server/sonar-web/src/main/js/apps/account/notifications/Projects.js +++ b/server/sonar-web/src/main/js/apps/account/notifications/Projects.js @@ -100,7 +100,9 @@ class Projects extends React.PureComponent { return ( <span> <Organization organizationKey={option.organization} link={false} /> - <strong>{option.label}</strong> + <strong> + {option.label} + </strong> </span> ); }; @@ -122,9 +124,7 @@ class Projects extends React.PureComponent { {allProjects.map(project => <ProjectNotifications key={project.key} project={project} />)} <div className="spacer-top panel bg-muted"> - <span className="text-middle spacer-right"> - Set notifications for: - </span> + <span className="text-middle spacer-right">Set notifications for:</span> <Select.Async autoload={false} cache={false} diff --git a/server/sonar-web/src/main/js/apps/account/organizations/CreateOrganizationForm.js b/server/sonar-web/src/main/js/apps/account/organizations/CreateOrganizationForm.js index 180a5dfb658..513ae8d5b7f 100644 --- a/server/sonar-web/src/main/js/apps/account/organizations/CreateOrganizationForm.js +++ b/server/sonar-web/src/main/js/apps/account/organizations/CreateOrganizationForm.js @@ -123,7 +123,9 @@ class CreateOrganizationForm extends React.PureComponent { overlayClassName="modal-overlay" onRequestClose={this.closeForm}> <header className="modal-head"> - <h2>{translate('my_account.create_organization')}</h2> + <h2> + {translate('my_account.create_organization')} + </h2> </header> <form onSubmit={this.handleSubmit}> diff --git a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.js b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.js index 8627962b54b..ee3efcc80eb 100644 --- a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.js +++ b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationCard.js @@ -50,7 +50,9 @@ export default function OrganizationCard(props: Props) { </OrganizationLink> </h3> - <div className="account-project-key">{organization.key}</div> + <div className="account-project-key"> + {organization.key} + </div> {!!organization.description && <div className="account-project-description"> diff --git a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.js b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.js index 3969d08b0df..afc2da9ffe0 100644 --- a/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.js +++ b/server/sonar-web/src/main/js/apps/account/organizations/OrganizationsList.js @@ -32,11 +32,11 @@ export default function OrganizationsList(props: Props) { <ul className="account-projects-list"> {sortBy(props.organizations, organization => organization.name.toLocaleLowerCase() - ).map(organization => ( + ).map(organization => <li key={organization.key}> <OrganizationCard organization={organization} /> </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.js b/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.js index 1aebb594952..e480e8a5517 100644 --- a/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.js +++ b/server/sonar-web/src/main/js/apps/account/organizations/UserOrganizations.js @@ -71,7 +71,9 @@ class UserOrganizations extends React.PureComponent { <Helmet title={translate('my_account.organizations')} /> <header className="page-header"> - <h2 className="page-title">{translate('my_account.organizations')}</h2> + <h2 className="page-title"> + {translate('my_account.organizations')} + </h2> {canCreateOrganizations && <div className="page-actions"> <Link to="/account/organizations/create" className="button"> diff --git a/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.js b/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.js index 775716fa43e..fba6c92f27c 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.js +++ b/server/sonar-web/src/main/js/apps/account/profile/UserExternalIdentity.js @@ -70,7 +70,9 @@ export default class UserExternalIdentity extends React.PureComponent { if (!identityProvider) { return ( <div> - {user.externalProvider}{': '}{user.externalIdentity} + {user.externalProvider} + {': '} + {user.externalIdentity} </div> ); } @@ -84,8 +86,7 @@ export default class UserExternalIdentity extends React.PureComponent { width="14" height="14" alt={identityProvider.name} - /> - {' '} + />{' '} {user.externalIdentity} </div> ); diff --git a/server/sonar-web/src/main/js/apps/account/profile/UserGroups.js b/server/sonar-web/src/main/js/apps/account/profile/UserGroups.js index f67ab5124ac..7aaf49a23c8 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/UserGroups.js +++ b/server/sonar-web/src/main/js/apps/account/profile/UserGroups.js @@ -30,13 +30,15 @@ export default class UserGroups extends React.PureComponent { return ( <div> - <h2 className="spacer-bottom">{translate('my_profile.groups')}</h2> + <h2 className="spacer-bottom"> + {translate('my_profile.groups')} + </h2> <ul id="groups"> - {groups.map(group => ( + {groups.map(group => <li key={group} className="little-spacer-bottom" title={group}> {group} </li> - ))} + )} </ul> </div> ); diff --git a/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.js b/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.js index d1da44d3290..968f27bc8e1 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.js +++ b/server/sonar-web/src/main/js/apps/account/profile/UserScmAccounts.js @@ -31,7 +31,9 @@ export default class UserScmAccounts extends React.PureComponent { return ( <div> - <h2 className="spacer-bottom">{translate('my_profile.scm_accounts')}</h2> + <h2 className="spacer-bottom"> + {translate('my_profile.scm_accounts')} + </h2> <ul id="scm-accounts"> <li className="little-spacer-bottom text-ellipsis" title={user.login}> {user.login} @@ -42,11 +44,11 @@ export default class UserScmAccounts extends React.PureComponent { {user.email} </li>} - {scmAccounts.map(scmAccount => ( + {scmAccounts.map(scmAccount => <li key={scmAccount} className="little-spacer-bottom" title={scmAccount}> {scmAccount} </li> - ))} + )} </ul> </div> ); diff --git a/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.js b/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.js index 2d263a0daf8..13826f80dc8 100644 --- a/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.js +++ b/server/sonar-web/src/main/js/apps/account/projects/ProjectCard.js @@ -65,7 +65,7 @@ export default class ProjectCard extends React.PureComponent { {links.length > 0 && <div className="account-project-links"> <ul className="list-inline"> - {links.map(link => ( + {links.map(link => <li key={link.type}> <a className="link-with-icon" @@ -76,11 +76,13 @@ export default class ProjectCard extends React.PureComponent { <i className={`icon-color-link icon-${link.type}`} /> </a> </li> - ))} + )} </ul> </div>} - <div className="account-project-key">{project.key}</div> + <div className="account-project-key"> + {project.key} + </div> {!!project.description && <div className="account-project-description"> diff --git a/server/sonar-web/src/main/js/apps/account/projects/Projects.js b/server/sonar-web/src/main/js/apps/account/projects/Projects.js index 9ecc0a633ee..71141b11ba7 100644 --- a/server/sonar-web/src/main/js/apps/account/projects/Projects.js +++ b/server/sonar-web/src/main/js/apps/account/projects/Projects.js @@ -46,11 +46,11 @@ export default class Projects extends React.PureComponent { {projects.length > 0 && <ul className="account-projects-list"> - {projects.map(project => ( + {projects.map(project => <li key={project.key}> <ProjectCard project={project} /> </li> - ))} + )} </ul>} {projects.length > 0 && diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js index c27316d41bd..4062eaea41a 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.js @@ -45,7 +45,7 @@ import { translate } from '../../../helpers/l10n'; type Props = { component: Object, location: Object, - fetchOrganizations: Array<string> => string + fetchOrganizations: (Array<string>) => string }; type State = { diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/DateFilter.js b/server/sonar-web/src/main/js/apps/background-tasks/components/DateFilter.js index e9d09a92772..4ca30c41c13 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/DateFilter.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/DateFilter.js @@ -75,8 +75,7 @@ export default class DateFilter extends Component { ref="minDate" type="text" placeholder="From" - /> - {' '} + />{' '} <input className="input-small" value={maxExecutedAt} diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.js b/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.js index f83644560cc..a2432dad135 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/ScannerContext.js @@ -72,7 +72,6 @@ export default class ScannerContext extends React.PureComponent { className="modal modal-large" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <div className="modal-head"> <h2> {translate('background_tasks.scanner_context')} @@ -86,7 +85,9 @@ export default class ScannerContext extends React.PureComponent { <div className="modal-body modal-container"> {scannerContext != null - ? <pre className="js-task-scanner-context">{scannerContext}</pre> + ? <pre className="js-task-scanner-context"> + {scannerContext} + </pre> : <i className="spinner" />} </div> @@ -95,7 +96,6 @@ export default class ScannerContext extends React.PureComponent { {translate('close')} </a> </div> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Search.js b/server/sonar-web/src/main/js/apps/background-tasks/components/Search.js index f14ff423f91..a9b301e2e11 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Search.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Search.js @@ -78,9 +78,7 @@ export default class Search extends React.PureComponent { return ( <li> - <h6 className="bt-search-form-label"> - Search by Task or Component - </h6> + <h6 className="bt-search-form-label">Search by Task or Component</h6> <input onChange={e => this.handleQueryChange(e.target.value)} @@ -110,16 +108,12 @@ export default class Search extends React.PureComponent { <section className="big-spacer-top big-spacer-bottom"> <ul className="bt-search-form"> <li> - <h6 className="bt-search-form-label"> - Status - </h6> + <h6 className="bt-search-form-label">Status</h6> <StatusFilter value={status} onChange={this.handleStatusChange.bind(this)} /> </li> {types.length > 1 && <li> - <h6 className="bt-search-form-label"> - Type - </h6> + <h6 className="bt-search-form-label">Type</h6> <TypesFilter value={taskType} types={types} @@ -128,15 +122,11 @@ export default class Search extends React.PureComponent { </li>} {!component && <li> - <h6 className="bt-search-form-label"> - Only Latest Analysis - </h6> + <h6 className="bt-search-form-label">Only Latest Analysis</h6> <CurrentsFilter value={currents} onChange={this.handleCurrentsChange.bind(this)} /> </li>} <li> - <h6 className="bt-search-form-label"> - Date - </h6> + <h6 className="bt-search-form-label">Date</h6> <DateFilter minSubmittedAt={minSubmittedAt} maxExecutedAt={maxExecutedAt} @@ -149,8 +139,7 @@ export default class Search extends React.PureComponent { <li className="bt-search-form-right"> <button className="js-reload" onClick={this.handleReload.bind(this)} disabled={loading}> {translate('reload')} - </button> - {' '} + </button>{' '} <button ref="resetButton" onClick={this.handleReset.bind(this)} disabled={loading}> {translate('reset_verb')} </button> diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.js b/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.js index d6da81e314c..a89fe73ab6e 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Stacktrace.js @@ -74,7 +74,6 @@ export default class Stacktrace extends React.PureComponent { className="modal modal-large" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <div className="modal-head"> <h2> {translate('background_tasks.error_stacktrace')} @@ -90,16 +89,22 @@ export default class Stacktrace extends React.PureComponent { {loading ? <i className="spinner" /> : stacktrace - ? <div> - <h4 className="spacer-bottom"> - {translate('background_tasks.error_stacktrace')} - </h4> - <pre className="js-task-stacktrace">{stacktrace}</pre> - </div> - : <div> - <h4 className="spacer-bottom">{translate('background_tasks.error_message')}</h4> - <pre className="js-task-error-message">{task.errorMessage}</pre> - </div>} + ? <div> + <h4 className="spacer-bottom"> + {translate('background_tasks.error_stacktrace')} + </h4> + <pre className="js-task-stacktrace"> + {stacktrace} + </pre> + </div> + : <div> + <h4 className="spacer-bottom"> + {translate('background_tasks.error_message')} + </h4> + <pre className="js-task-error-message"> + {task.errorMessage} + </pre> + </div>} </div> <div className="modal-foot"> @@ -107,7 +112,6 @@ export default class Stacktrace extends React.PureComponent { {translate('close')} </a> </div> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js index 7f803d325db..fdd7aeedc7a 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js @@ -36,7 +36,9 @@ export default function TaskComponent(props: Props) { if (!task.componentKey) { return ( <td> - <span className="note">{task.id}</span> + <span className="note"> + {task.id} + </span> {types.length > 1 && <TaskType task={task} />} </td> ); diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.js b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.js index 119591b2e4e..0e5c2348f1f 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.js @@ -25,7 +25,11 @@ const TaskDate = ({ date, baseDate, format -}: { date: string, baseDate: string, format: string }) => { +}: { + date: string, + baseDate: string, + format: string +}) => { const m = moment(date); const baseM = moment(baseDate); const diff = date && baseDate ? m.diff(baseM, 'days') : 0; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.js b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.js index 471b7de04de..5feb8665762 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskStatus.js @@ -36,24 +36,34 @@ const TaskStatus = ({ task }: { task: Task }) => { break; case STATUSES.SUCCESS: inner = ( - <span className="badge badge-success">{translate('background_task.status.SUCCESS')}</span> + <span className="badge badge-success"> + {translate('background_task.status.SUCCESS')} + </span> ); break; case STATUSES.FAILED: inner = ( - <span className="badge badge-danger">{translate('background_task.status.FAILED')}</span> + <span className="badge badge-danger"> + {translate('background_task.status.FAILED')} + </span> ); break; case STATUSES.CANCELED: inner = ( - <span className="badge badge-muted">{translate('background_task.status.CANCELED')}</span> + <span className="badge badge-muted"> + {translate('background_task.status.CANCELED')} + </span> ); break; default: inner = ''; } - return <td className="thin spacer-right">{inner}</td>; + return ( + <td className="thin spacer-right"> + {inner} + </td> + ); }; export default TaskStatus; diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.js b/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.js index 5b8903a9b58..622409ca796 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/Tasks.js @@ -49,19 +49,33 @@ export default class Tasks extends React.PureComponent { <table className={className}> <thead> <tr> - <th>{translate('background_tasks.table.status')}</th> - <th>{translate('background_tasks.table.task')}</th> - <th>{translate('background_tasks.table.id')}</th> + <th> + {translate('background_tasks.table.status')} + </th> + <th> + {translate('background_tasks.table.task')} + </th> + <th> + {translate('background_tasks.table.id')} + </th> <th> </th> - <th className="text-right">{translate('background_tasks.table.submitted')}</th> - <th className="text-right">{translate('background_tasks.table.started')}</th> - <th className="text-right">{translate('background_tasks.table.finished')}</th> - <th className="text-right">{translate('background_tasks.table.duration')}</th> + <th className="text-right"> + {translate('background_tasks.table.submitted')} + </th> + <th className="text-right"> + {translate('background_tasks.table.started')} + </th> + <th className="text-right"> + {translate('background_tasks.table.finished')} + </th> + <th className="text-right"> + {translate('background_tasks.table.duration')} + </th> <th> </th> </tr> </thead> <tbody> - {tasks.map((task, index, tasks) => ( + {tasks.map((task, index, tasks) => <Task key={task.id} task={task} @@ -72,7 +86,7 @@ export default class Tasks extends React.PureComponent { onCancelTask={onCancelTask} onFilterTask={onFilterTask} /> - ))} + )} </tbody> </table> ); diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.js b/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.js index 51d5fc4b759..5ca1ee54c67 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.js +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TypesFilter.js @@ -27,7 +27,11 @@ const TypesFilter = ({ value, onChange, types -}: { value: string, onChange: Function, types: string[] }) => { +}: { + value: string, + onChange: Function, + types: string[] +}) => { const options = types.map(t => { return { value: t, diff --git a/server/sonar-web/src/main/js/apps/code/components/Breadcrumbs.js b/server/sonar-web/src/main/js/apps/code/components/Breadcrumbs.js index 1770620d9dd..a6f5a0aedfa 100644 --- a/server/sonar-web/src/main/js/apps/code/components/Breadcrumbs.js +++ b/server/sonar-web/src/main/js/apps/code/components/Breadcrumbs.js @@ -23,7 +23,7 @@ import Breadcrumb from './Breadcrumb'; export default function Breadcrumbs({ rootComponent, breadcrumbs }) { return ( <ul className="code-breadcrumbs"> - {breadcrumbs.map((component, index) => ( + {breadcrumbs.map((component, index) => <li key={component.key}> <Breadcrumb rootComponent={rootComponent} @@ -31,7 +31,7 @@ export default function Breadcrumbs({ rootComponent, breadcrumbs }) { canBrowse={index < breadcrumbs.length - 1} /> </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/code/components/Component.js b/server/sonar-web/src/main/js/apps/code/components/Component.js index 1f5ea5fff04..6770e4c28a6 100644 --- a/server/sonar-web/src/main/js/apps/code/components/Component.js +++ b/server/sonar-web/src/main/js/apps/code/components/Component.js @@ -109,7 +109,7 @@ export default class Component extends React.PureComponent { /> </td> - {columns.map(column => ( + {columns.map(column => <td key={column.metric} className="thin nowrap text-right"> <div className="code-components-cell"> <ComponentMeasure @@ -119,7 +119,7 @@ export default class Component extends React.PureComponent { /> </div> </td> - ))} + )} </tr> ); } diff --git a/server/sonar-web/src/main/js/apps/code/components/ComponentName.js b/server/sonar-web/src/main/js/apps/code/components/ComponentName.js index 76ea80e652f..bad7f487537 100644 --- a/server/sonar-web/src/main/js/apps/code/components/ComponentName.js +++ b/server/sonar-web/src/main/js/apps/code/components/ComponentName.js @@ -51,8 +51,12 @@ const ComponentName = ({ component, rootComponent, previous, canBrowse }) => { const prefix = areBothDirs ? mostCommitPrefix([component.name + '/', previous.name + '/']) : ''; const name = prefix ? <span> - <span style={{ color: '#777' }}>{prefix}</span> - <span>{component.name.substr(prefix.length)}</span> + <span style={{ color: '#777' }}> + {prefix} + </span> + <span> + {component.name.substr(prefix.length)} + </span> </span> : component.name; @@ -63,9 +67,7 @@ const ComponentName = ({ component, rootComponent, previous, canBrowse }) => { <Link to={{ pathname: '/dashboard', query: { id: component.refKey } }} className="link-with-icon"> - <QualifierIcon qualifier={component.qualifier} /> - {' '} - <span>{name}</span> + <QualifierIcon qualifier={component.qualifier} /> <span>{name}</span> </Link> ); } else if (canBrowse) { @@ -75,17 +77,13 @@ const ComponentName = ({ component, rootComponent, previous, canBrowse }) => { } inner = ( <Link to={{ pathname: '/code', query }} className="link-with-icon"> - <QualifierIcon qualifier={component.qualifier} /> - {' '} - <span>{name}</span> + <QualifierIcon qualifier={component.qualifier} /> <span>{name}</span> </Link> ); } else { inner = ( <span> - <QualifierIcon qualifier={component.qualifier} /> - {' '} - {name} + <QualifierIcon qualifier={component.qualifier} /> {name} </span> ); } diff --git a/server/sonar-web/src/main/js/apps/code/components/Components.js b/server/sonar-web/src/main/js/apps/code/components/Components.js index 2d492285a2c..8e1451ff79e 100644 --- a/server/sonar-web/src/main/js/apps/code/components/Components.js +++ b/server/sonar-web/src/main/js/apps/code/components/Components.js @@ -39,7 +39,7 @@ export default function Components({ rootComponent, baseComponent, components, s </tbody>} <tbody> {components.length - ? components.map((component, index, list) => ( + ? components.map((component, index, list) => <Component key={component.key} rootComponent={rootComponent} @@ -48,7 +48,7 @@ export default function Components({ rootComponent, baseComponent, components, s previous={index > 0 ? list[index - 1] : null} canBrowse={true} /> - )) + ) : <ComponentsEmpty />} </tbody> </table> diff --git a/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.js b/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.js index ec63a912732..1552dfad89d 100644 --- a/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.js +++ b/server/sonar-web/src/main/js/apps/code/components/ComponentsHeader.js @@ -45,11 +45,11 @@ const ComponentsHeader = ({ baseComponent, rootComponent }) => { <tr className="code-components-header"> <th className="thin nowrap"> </th> <th> </th> - {columns.map(column => ( + {columns.map(column => <th key={column} className="thin nowrap text-right code-components-cell"> {baseComponent && column} </th> - ))} + )} </tr> </thead> ); diff --git a/server/sonar-web/src/main/js/apps/coding-rules/init.js b/server/sonar-web/src/main/js/apps/coding-rules/init.js index 6dab31d13b6..af9a1b27e24 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/init.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/init.js @@ -37,13 +37,11 @@ import { areThereCustomOrganizations } from '../../store/organizations/utils'; const App = new Marionette.Application(); -App.on('start', function( - options: { - el: HTMLElement, - organization: ?string, - isDefaultOrganization: boolean - } -) { +App.on('start', function(options: { + el: HTMLElement, + organization: ?string, + isDefaultOrganization: boolean +}) { App.organization = options.organization; const data = options.organization ? { organization: options.organization } : {}; $.get(window.baseUrl + '/api/rules/app', data) diff --git a/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-issues-view.js b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-issues-view.js index b6ec74ca5a0..e9cdac4acf7 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-issues-view.js +++ b/server/sonar-web/src/main/js/apps/coding-rules/rule/rule-issues-view.js @@ -54,7 +54,8 @@ export default Marionette.ItemView.extend({ return { ...project, name: projectBase != null ? projectBase.longName : '', - issuesUrl: projectBase != null && + issuesUrl: + projectBase != null && getComponentIssuesUrlAsString(projectBase.key, { resolved: 'false', rules: this.model.id diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.js b/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.js index de46b957a1d..302c02959bf 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.js +++ b/server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.js @@ -37,5 +37,9 @@ export default function LeakPeriodLegend({ period }) { const date = getPeriodDate(period); const fromNow = moment(date).fromNow(); const tooltip = fromNow + ', ' + moment(date).format('LL'); - return <Tooltip placement="bottom" overlay={tooltip}>{label}</Tooltip>; + return ( + <Tooltip placement="bottom" overlay={tooltip}> + {label} + </Tooltip> + ); } diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsHeader.js b/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsHeader.js index 6b2d5324559..392b7e19587 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsHeader.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/MeasureDetailsHeader.js @@ -61,7 +61,6 @@ export default function MeasureDetailsHeader({ <TooltipsContainer options={{ html: false }}> <div className="measure-details-value"> - {isDiff ? <div className="measure-details-value-leak"> <Measure measure={measure} metric={metric} /> diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumb.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumb.js index 15ac0ded735..aa038d9d004 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumb.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumb.js @@ -37,7 +37,11 @@ const Breadcrumb = ({ component, metric, onBrowse }) => { </a> ); } else { - inner = <span>{component.name}</span>; + inner = ( + <span> + {component.name} + </span> + ); } const value = isDiffMetric(metric.key) @@ -49,7 +53,10 @@ const Breadcrumb = ({ component, metric, onBrowse }) => { <QualifierIcon qualifier={component.qualifier} /> {inner} - {value != null && <span>{' (' + value + ')'}</span>} + {value != null && + <span> + {' (' + value + ')'} + </span>} </span> ); }; diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumbs.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumbs.js index 7bc20340cd4..227fad25782 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumbs.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/Breadcrumbs.js @@ -20,9 +20,9 @@ import React from 'react'; import Breadcrumb from './Breadcrumb'; -const Breadcrumbs = ({ breadcrumbs, metric, onBrowse }) => ( +const Breadcrumbs = ({ breadcrumbs, metric, onBrowse }) => <ul className="component-measures-breadcrumbs"> - {breadcrumbs.map((component, index) => ( + {breadcrumbs.map((component, index) => <li key={component.key}> <Breadcrumb component={component} @@ -30,8 +30,7 @@ const Breadcrumbs = ({ breadcrumbs, metric, onBrowse }) => ( onBrowse={index + 1 < breadcrumbs.length ? onBrowse : null} /> </li> - ))} - </ul> -); + )} + </ul>; export default Breadcrumbs; diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentCell.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentCell.js index 43d0d8bd422..6d9ae770a8a 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentCell.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentCell.js @@ -51,7 +51,10 @@ const ComponentCell = ({ component, isSelected, onClick }) => { <span title={component.refKey || component.key}> <QualifierIcon qualifier={component.qualifier} /> - {head.length > 0 && <span className="note">{head}/</span>} + {head.length > 0 && + <span className="note"> + {head}/ + </span>} <span>{tail}</span> </span> ); diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsList.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsList.js index 7acaeb62890..0faf5f66dfb 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsList.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsList.js @@ -39,18 +39,22 @@ const ComponentsList = ({ components, metrics, selected, metric, onClick }) => { <tr> <th> </th> <th className="text-right"> - <span className="small">{getLocalizedMetricName(metric)}</span> + <span className="small"> + {getLocalizedMetricName(metric)} + </span> </th> - {otherMetrics.map(metric => ( + {otherMetrics.map(metric => <th key={metric.key} className="text-right"> - <span className="small">{getLocalizedMetricName(metric)}</span> + <span className="small"> + {getLocalizedMetricName(metric)} + </span> </th> - ))} + )} </tr> </thead>} <tbody> - {components.map(component => ( + {components.map(component => <ComponentsListRow key={component.id} component={component} @@ -59,7 +63,7 @@ const ComponentsList = ({ components, metrics, selected, metric, onClick }) => { metric={metric} onClick={onClick} /> - ))} + )} </tbody> </table> ); diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsListRow.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsListRow.js index ca2f51c96a4..8e01925a987 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsListRow.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ComponentsListRow.js @@ -49,13 +49,13 @@ const ComponentsListRow = ({ component, otherMetrics, isSelected, metric, onClic <MeasureCell component={component} metric={metric} /> - {otherMeasures.map(measure => ( + {otherMeasures.map(measure => <MeasureCell key={measure.metric.key} component={replaceMeasure(component, measure)} metric={measure.metric} /> - ))} + )} </tr> ); }; diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListView.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListView.js index b3413a23c7c..901073b7a6c 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListView.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/ListView.js @@ -114,20 +114,20 @@ export default class ListView extends React.PureComponent { } const selectedIndex = components.indexOf(selected); const sourceViewerPeriod = metric.key.indexOf('new_') === 0 && !!leakPeriod ? leakPeriod : null; - const sourceViewerPeriodDate = sourceViewerPeriod != null - ? moment(sourceViewerPeriod.date).toDate() - : null; - - const filterLine = sourceViewerPeriodDate != null - ? line => { - if (line.scmDate) { - const scmDate = moment(line.scmDate).toDate(); - return scmDate >= sourceViewerPeriodDate; - } else { - return false; + const sourceViewerPeriodDate = + sourceViewerPeriod != null ? moment(sourceViewerPeriod.date).toDate() : null; + + const filterLine = + sourceViewerPeriodDate != null + ? line => { + if (line.scmDate) { + const scmDate = moment(line.scmDate).toDate(); + return scmDate >= sourceViewerPeriodDate; + } else { + return false; + } } - } - : undefined; + : undefined; return ( <div ref="container" className="measure-details-plain-list"> diff --git a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeView.js b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeView.js index a66f31d6c64..0bbfe14681e 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeView.js +++ b/server/sonar-web/src/main/js/apps/component-measures/details/drilldown/TreeView.js @@ -107,20 +107,20 @@ export default class TreeView extends React.PureComponent { const selectedIndex = components.indexOf(selected); const sourceViewerPeriod = metric.key.indexOf('new_') === 0 && !!leakPeriod ? leakPeriod : null; - const sourceViewerPeriodDate = sourceViewerPeriod != null - ? moment(sourceViewerPeriod.date).toDate() - : null; - - const filterLine = sourceViewerPeriodDate != null - ? line => { - if (line.scmDate) { - const scmDate = moment(line.scmDate).toDate(); - return scmDate >= sourceViewerPeriodDate; - } else { - return false; + const sourceViewerPeriodDate = + sourceViewerPeriod != null ? moment(sourceViewerPeriod.date).toDate() : null; + + const filterLine = + sourceViewerPeriodDate != null + ? line => { + if (line.scmDate) { + const scmDate = moment(line.scmDate).toDate(); + return scmDate >= sourceViewerPeriodDate; + } else { + return false; + } } - } - : undefined; + : undefined; return ( <div ref="container" className="measure-details-plain-list"> diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasures.js b/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasures.js index eafc7bcc324..ab69f4baab3 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasures.js +++ b/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasures.js @@ -27,14 +27,14 @@ export default function AllMeasures(props) { return ( <ul className="measures-domains"> - {domains.map(domain => ( + {domains.map(domain => <AllMeasuresDomain key={domain.name} domain={domain} component={component} leakPeriodLabel={leakPeriodLabel} /> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/Home.js b/server/sonar-web/src/main/js/apps/component-measures/home/Home.js index 14cbdcdab61..fa3ddd96662 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/home/Home.js +++ b/server/sonar-web/src/main/js/apps/component-measures/home/Home.js @@ -55,7 +55,7 @@ export default class Home extends React.PureComponent { {translate('all')} </IndexLink> </li> - {domains.map(domain => ( + {domains.map(domain => <li key={domain.name}> <Link to={{ @@ -66,7 +66,7 @@ export default class Home extends React.PureComponent { {getLocalizedMetricDomain(domain.name)} </Link> </li> - ))} + )} </ul> </nav> diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js b/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js index 78bf2181269..3ba27f5785b 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js +++ b/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js @@ -26,7 +26,7 @@ import IssueTypeIcon from '../../../components/ui/IssueTypeIcon'; const MeasuresList = ({ measures, component, className = 'domain-measures' }) => { return ( <ul className={className}> - {measures.map(measure => ( + {measures.map(measure => <li key={measure.metric.key} id={`measure-${measure.metric.key}`}> <Link to={{ @@ -43,7 +43,7 @@ const MeasuresList = ({ measures, component, className = 'domain-measures' }) => <MeasureListValue measure={measure} /> </Link> </li> - ))} + )} </ul> ); }; diff --git a/server/sonar-web/src/main/js/apps/component-measures/styles.css b/server/sonar-web/src/main/js/apps/component-measures/styles.css index 2d753f413ac..1c6f8c433ba 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/styles.css +++ b/server/sonar-web/src/main/js/apps/component-measures/styles.css @@ -5,7 +5,8 @@ margin-bottom: 20px; } -.measures-domains {} +.measures-domains { +} .measures-domains > li { margin-bottom: 20px; @@ -140,7 +141,8 @@ } .measure-details-metric, -.measure-details-value {} +.measure-details-value { +} .measure-details-metric { display: inline-block; @@ -221,7 +223,8 @@ fill: #4b9fd5; } -.measure-details-plain-list {} +.measure-details-plain-list { +} .measure-details-components { width: 300px; diff --git a/server/sonar-web/src/main/js/apps/issues/actions.js b/server/sonar-web/src/main/js/apps/issues/actions.js index 2bde7c95332..70f151a50d5 100644 --- a/server/sonar-web/src/main/js/apps/issues/actions.js +++ b/server/sonar-web/src/main/js/apps/issues/actions.js @@ -55,9 +55,8 @@ export const selectLocation = (nextIndex: ?number) => (state: State) => { export const selectNextLocation = (state: State) => { const { selectedFlowIndex, selectedLocationIndex: index, openIssue } = state; if (openIssue) { - const locations = selectedFlowIndex != null - ? openIssue.flows[selectedFlowIndex] - : openIssue.secondaryLocations; + const locations = + selectedFlowIndex != null ? openIssue.flows[selectedFlowIndex] : openIssue.secondaryLocations; return { selectedLocationIndex: index != null && locations.length > index + 1 ? index + 1 : index }; diff --git a/server/sonar-web/src/main/js/apps/issues/components/App.js b/server/sonar-web/src/main/js/apps/issues/components/App.js index e003d9ec0ea..60dd9d43f9f 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/App.js +++ b/server/sonar-web/src/main/js/apps/issues/components/App.js @@ -385,9 +385,8 @@ export default class App extends React.PureComponent { referencedLanguages: keyBy(other.languages, 'key'), referencedRules: keyBy(other.rules, 'key'), referencedUsers: keyBy(other.users, 'login'), - selected: issues.length > 0 - ? openIssue != null ? openIssue.key : issues[0].key - : undefined, + selected: + issues.length > 0 ? (openIssue != null ? openIssue.key : issues[0].key) : undefined, selectedFlowIndex: null, selectedLocationIndex: null }); @@ -785,7 +784,9 @@ export default class App extends React.PureComponent { return ( <div className="pull-right note"> <span className="shortcut-button little-spacer-right">alt</span> - <span className="little-spacer-right">{'+'}</span> + <span className="little-spacer-right"> + {'+'} + </span> <span className="shortcut-button little-spacer-right">↑</span> <span className="shortcut-button little-spacer-right">↓</span> {hasSeveralFlows && diff --git a/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.js b/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.js index f9854fb1cce..8fe75c2019c 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.js +++ b/server/sonar-web/src/main/js/apps/issues/components/BulkChangeModal.js @@ -208,16 +208,17 @@ export default class BulkChangeModal extends React.PureComponent { })); } - renderCancelButton = () => ( + renderCancelButton = () => <a id="bulk-change-cancel" href="#" onClick={this.handleCloseClick}> {translate('cancel')} - </a> - ); + </a>; - renderLoading = () => ( + renderLoading = () => <div> <div className="modal-head"> - <h2>{translate('bulk_change')}</h2> + <h2> + {translate('bulk_change')} + </h2> </div> <div className="modal-body"> <div className="text-center"> @@ -227,29 +228,27 @@ export default class BulkChangeModal extends React.PureComponent { <div className="modal-foot"> {this.renderCancelButton()} </div> - </div> - ); + </div>; - renderCheckbox = (field: string) => ( - <Checkbox checked={this.state[field] != null} onCheck={this.handleFieldCheck(field)} /> - ); + renderCheckbox = (field: string) => + <Checkbox checked={this.state[field] != null} onCheck={this.handleFieldCheck(field)} />; - renderAffected = (affected: number) => ( + renderAffected = (affected: number) => <div className="pull-right note"> ({translateWithParameters('issue_bulk_change.x_issues', affected)}) - </div> - ); + </div>; - renderField = (field: string, label: string, affected: ?number, input: Object) => ( + renderField = (field: string, label: string, affected: ?number, input: Object) => <div className="modal-field" id={`issues-bulk-change-${field}`}> - <label htmlFor={field}>{translate(label)}</label> + <label htmlFor={field}> + {translate(label)} + </label> {this.renderCheckbox(field)} {input} {affected != null && this.renderAffected(affected)} - </div> - ); + </div>; - renderAssigneeOption = (option: { avatar?: string, email?: string, label: string }) => ( + renderAssigneeOption = (option: { avatar?: string, email?: string, label: string }) => <span> {(option.avatar != null || option.email != null) && <Avatar @@ -260,8 +259,7 @@ export default class BulkChangeModal extends React.PureComponent { size={16} />} {option.label} - </span> - ); + </span>; renderAssigneeField = () => { const affected: number = this.state.issues.filter(hasAction('assign')).length; @@ -294,12 +292,11 @@ export default class BulkChangeModal extends React.PureComponent { const types = ['BUG', 'VULNERABILITY', 'CODE_SMELL']; const options = types.map(type => ({ label: translate('issue.type', type), value: type })); - const optionRenderer = (option: { label: string, value: string }) => ( + const optionRenderer = (option: { label: string, value: string }) => <span> <IssueTypeIcon className="little-spacer-right" query={option.value} /> {option.label} - </span> - ); + </span>; const input = ( <Select @@ -403,8 +400,10 @@ export default class BulkChangeModal extends React.PureComponent { return ( <div className="modal-field"> - <label>{translate('issue.transition')}</label> - {transitions.map(transition => ( + <label> + {translate('issue.transition')} + </label> + {transitions.map(transition => <span key={transition.transition}> <input checked={this.state.transition === transition.transition} @@ -422,7 +421,7 @@ export default class BulkChangeModal extends React.PureComponent { {this.renderAffected(transition.count)} <br /> </span> - ))} + )} </div> ); }; @@ -458,12 +457,13 @@ export default class BulkChangeModal extends React.PureComponent { ); }; - renderNotificationsField = () => ( + renderNotificationsField = () => <div className="modal-field"> - <label htmlFor="send-notifications">{translate('issue.send_notifications')}</label> + <label htmlFor="send-notifications"> + {translate('issue.send_notifications')} + </label> {this.renderCheckbox('notifications')} - </div> - ); + </div>; renderForm = () => { const { issues, paging, submitting } = this.state; @@ -474,7 +474,9 @@ export default class BulkChangeModal extends React.PureComponent { return ( <form id="bulk-change-form" onSubmit={this.handleSubmit}> <div className="modal-head"> - <h2>{translateWithParameters('issue_bulk_change.form.title', issues.length)}</h2> + <h2> + {translateWithParameters('issue_bulk_change.form.title', issues.length)} + </h2> </div> <div className="modal-body"> @@ -495,7 +497,9 @@ export default class BulkChangeModal extends React.PureComponent { <div className="modal-foot"> {submitting && <i className="spinner spacer-right" />} - <button disabled={submitting} id="bulk-change-submit">{translate('apply')}</button> + <button disabled={submitting} id="bulk-change-submit"> + {translate('apply')} + </button> {this.renderCancelButton()} </div> </form> diff --git a/server/sonar-web/src/main/js/apps/issues/components/FiltersHeader.js b/server/sonar-web/src/main/js/apps/issues/components/FiltersHeader.js index 85868906179..8971b5e76e1 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/FiltersHeader.js +++ b/server/sonar-web/src/main/js/apps/issues/components/FiltersHeader.js @@ -45,7 +45,9 @@ export default class FiltersHeader extends React.PureComponent { </button> </div>} - <h3>{translate('filters')}</h3> + <h3> + {translate('filters')} + </h3> </div> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.js b/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.js index 019bf77961d..6fa5a9d4b3b 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.js +++ b/server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.js @@ -27,15 +27,17 @@ type Props = { total: number }; -const IssuesCounter = (props: Props) => ( +const IssuesCounter = (props: Props) => <span> <strong> - {props.current != null && <span>{formatMeasure(props.current + 1, 'INT')} / </span>} + {props.current != null && + <span> + {formatMeasure(props.current + 1, 'INT')} + {' / '} + </span>} {formatMeasure(props.total, 'INT')} - </strong> - {' '} + </strong>{' '} {translate('issues.issues')} - </span> -); + </span>; export default IssuesCounter; diff --git a/server/sonar-web/src/main/js/apps/issues/components/IssuesList.js b/server/sonar-web/src/main/js/apps/issues/components/IssuesList.js index f5897fd518f..a3a6097152b 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/IssuesList.js +++ b/server/sonar-web/src/main/js/apps/issues/components/IssuesList.js @@ -42,7 +42,7 @@ export default class IssuesList extends React.PureComponent { return ( <div> - {issues.map((issue, index) => ( + {issues.map((issue, index) => <ListItem checked={checked.includes(issue.key)} component={component} @@ -55,7 +55,7 @@ export default class IssuesList extends React.PureComponent { previousIssue={index > 0 ? issues[index - 1] : null} selected={selectedIssue != null && selectedIssue.key === issue.key} /> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.js b/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.js index 8580fcff5b6..48aa84d718a 100644 --- a/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.js +++ b/server/sonar-web/src/main/js/apps/issues/components/IssuesSourceViewer.js @@ -65,15 +65,17 @@ export default class IssuesSourceViewer extends React.PureComponent { render() { const { openIssue, selectedFlowIndex, selectedLocationIndex } = this.props; - const locations = selectedFlowIndex != null - ? openIssue.flows[selectedFlowIndex] - : openIssue.flows.length > 0 ? openIssue.flows[0] : openIssue.secondaryLocations; + const locations = + selectedFlowIndex != null + ? openIssue.flows[selectedFlowIndex] + : openIssue.flows.length > 0 ? openIssue.flows[0] : openIssue.secondaryLocations; - const locationMessage = locations != null && + const locationMessage = + locations != null && selectedLocationIndex != null && locations.length >= selectedLocationIndex - ? { index: selectedLocationIndex, text: locations[selectedLocationIndex].msg } - : undefined; + ? { index: selectedLocationIndex, text: locations[selectedLocationIndex].msg } + : undefined; return ( <div ref={node => (this.node = node)}> diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.js b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.js index 922379d0a7f..e9e1c5fdce0 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.js +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueBox.js @@ -58,9 +58,10 @@ export default class ConciseIssueBox extends React.PureComponent { const { selectedFlowIndex } = this.props; const { flows, secondaryLocations } = this.props.issue; - const locations = selectedFlowIndex != null - ? flows[selectedFlowIndex] - : flows.length > 0 ? flows[0] : secondaryLocations; + const locations = + selectedFlowIndex != null + ? flows[selectedFlowIndex] + : flows.length > 0 ? flows[0] : secondaryLocations; if (locations == null || locations.length < 15) { // if there are no locations, or there are just few diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.js b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.js index 17337603555..ab8ecd13226 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.js +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueComponent.js @@ -25,10 +25,9 @@ type Props = { path: string }; -const ConciseIssueComponent = (props: Props) => ( +const ConciseIssueComponent = (props: Props) => <div className="concise-issue-component note text-ellipsis"> {collapsePath(props.path, 20)} - </div> -); + </div>; export default ConciseIssueComponent; diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.js b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.js index ae19b8f367f..794cef4a105 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.js +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationBadge.js @@ -39,7 +39,8 @@ export default function ConciseIssueLocationBadge(props: Props) { formatMeasure(props.count) )}> <LocationIndex onClick={props.onClick} selected={props.selected}> - {'+'}{props.count} + {'+'} + {props.count} </LocationIndex> </Tooltip> ); diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationsNavigator.js b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationsNavigator.js index ebe8aff7935..bbe2beb7237 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationsNavigator.js +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssueLocationsNavigator.js @@ -42,9 +42,10 @@ export default class ConciseIssueLocationsNavigator extends React.PureComponent const { selectedFlowIndex, selectedLocationIndex } = this.props; const { flows, secondaryLocations } = this.props.issue; - const locations = selectedFlowIndex != null - ? flows[selectedFlowIndex] - : flows.length > 0 ? flows[0] : secondaryLocations; + const locations = + selectedFlowIndex != null + ? flows[selectedFlowIndex] + : flows.length > 0 ? flows[0] : secondaryLocations; if (locations == null || locations.length === 0) { return null; @@ -52,7 +53,7 @@ export default class ConciseIssueLocationsNavigator extends React.PureComponent return ( <div className="spacer-top"> - {locations.map((location, index) => ( + {locations.map((location, index) => <ConciseIssueLocationsNavigatorLocation key={index} index={index} @@ -61,7 +62,7 @@ export default class ConciseIssueLocationsNavigator extends React.PureComponent scroll={this.props.scroll} selected={index === selectedLocationIndex} /> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.js b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.js index fba7825a6b4..611d14deca0 100644 --- a/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.js +++ b/server/sonar-web/src/main/js/apps/issues/conciseIssuesList/ConciseIssuesList.js @@ -46,7 +46,7 @@ export default class ConciseIssuesList extends React.PureComponent { render() { return ( <div> - {this.props.issues.map((issue, index) => ( + {this.props.issues.map((issue, index) => <ConciseIssue key={issue.key} issue={issue} @@ -59,7 +59,7 @@ export default class ConciseIssuesList extends React.PureComponent { selectedFlowIndex={this.props.selectedFlowIndex} selectedLocationIndex={this.props.selectedLocationIndex} /> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.js index 752666243da..f20e721b0ec 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/AssigneeFacet.js @@ -144,7 +144,7 @@ export default class AssigneeFacet extends React.PureComponent { return ( <FacetItemsList> - {assignees.map(assignee => ( + {assignees.map(assignee => <FacetItem active={this.isAssigneeActive(assignee)} facetMode={this.props.facetMode} @@ -154,7 +154,7 @@ export default class AssigneeFacet extends React.PureComponent { stat={this.getStat(assignee)} value={assignee} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.js index e0f85562ef9..96f81dce317 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.js @@ -76,7 +76,7 @@ export default class AuthorFacet extends React.PureComponent { return ( <FacetItemsList> - {authors.map(author => ( + {authors.map(author => <FacetItem active={this.props.authors.includes(author)} facetMode={this.props.facetMode} @@ -86,7 +86,7 @@ export default class AuthorFacet extends React.PureComponent { stat={this.getStat(author)} value={author} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.js index a1ec652908d..ab491dd167b 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.js @@ -84,7 +84,10 @@ export default class CreationDateFacet extends React.PureComponent { handleBarClick = ({ createdAfter, createdBefore - }: { createdAfter: Object, createdBefore?: Object }) => { + }: { + createdAfter: Object, + createdBefore?: Object + }) => { this.resetTo({ createdAfter: createdAfter.format(DATE_FORMAT), createdBefore: createdBefore && createdBefore.format(DATE_FORMAT) @@ -123,9 +126,10 @@ export default class CreationDateFacet extends React.PureComponent { const data = periods.map((startDate, index) => { const startMoment = moment(startDate); - const nextStartMoment = index < periods.length - 1 - ? moment(periods[index + 1]) - : createdBefore ? moment(createdBefore) : undefined; + const nextStartMoment = + index < periods.length - 1 + ? moment(periods[index + 1]) + : createdBefore ? moment(createdBefore) : undefined; const endMoment = nextStartMoment && nextStartMoment.clone().subtract(1, 'days'); let tooltip = @@ -174,7 +178,9 @@ export default class CreationDateFacet extends React.PureComponent { <div className="search-navigator-facet-container"> {m.format('LLL')} <br /> - <span className="note">({m.fromNow()})</span> + <span className="note"> + ({m.fromNow()}) + </span> </div> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.js index c41bad19312..13cf51d17d7 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/DirectoryFacet.js @@ -97,7 +97,7 @@ export default class DirectoryFacet extends React.PureComponent { return ( <FacetItemsList> - {directories.map(directory => ( + {directories.map(directory => <FacetItem active={this.props.directories.includes(directory)} facetMode={this.props.facetMode} @@ -107,7 +107,7 @@ export default class DirectoryFacet extends React.PureComponent { stat={this.getStat(directory)} value={directory} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/FacetMode.js b/server/sonar-web/src/main/js/apps/issues/sidebar/FacetMode.js index dcfb16202e9..1c178bc8873 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/FacetMode.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/FacetMode.js @@ -48,7 +48,7 @@ export default class FacetMode extends React.PureComponent { <FacetHeader name={translate('issues.facet.mode')} /> <FacetItemsList> - {modes.map(mode => ( + {modes.map(mode => <FacetItem active={facetMode === mode} facetMode={this.props.facetMode} @@ -59,7 +59,7 @@ export default class FacetMode extends React.PureComponent { stat={null} value={mode} /> - ))} + )} </FacetItemsList> </FacetBox> ); diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.js index 48b33e83586..b6404f3fd3b 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/FileFacet.js @@ -93,7 +93,7 @@ export default class FileFacet extends React.PureComponent { return ( <FacetItemsList> - {files.map(file => ( + {files.map(file => <FacetItem active={this.props.files.includes(file)} facetMode={this.props.facetMode} @@ -103,7 +103,7 @@ export default class FileFacet extends React.PureComponent { stat={this.getStat(file)} value={file} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.js index c2c8592c5ca..ec7ba416c86 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/LanguageFacet.js @@ -89,7 +89,7 @@ export default class LanguageFacet extends React.PureComponent { return ( <FacetItemsList> - {languages.map(language => ( + {languages.map(language => <FacetItem active={this.props.languages.includes(language)} facetMode={this.props.facetMode} @@ -99,7 +99,7 @@ export default class LanguageFacet extends React.PureComponent { stat={this.getStat(language)} value={language} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/ModuleFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/ModuleFacet.js index 35e805a54bc..c7eb7c8dc26 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/ModuleFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/ModuleFacet.js @@ -90,7 +90,7 @@ export default class ModuleFacet extends React.PureComponent { return ( <FacetItemsList> - {modules.map(module => ( + {modules.map(module => <FacetItem active={this.props.modules.includes(module)} facetMode={this.props.facetMode} @@ -100,7 +100,7 @@ export default class ModuleFacet extends React.PureComponent { stat={this.getStat(module)} value={module} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.js index d7b7becca9f..e000234b6d4 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.js @@ -134,7 +134,7 @@ export default class ProjectFacet extends React.PureComponent { return ( <FacetItemsList> - {projects.map(project => ( + {projects.map(project => <FacetItem active={this.props.projects.includes(project)} facetMode={this.props.facetMode} @@ -144,7 +144,7 @@ export default class ProjectFacet extends React.PureComponent { stat={this.getStat(project)} value={project} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.js index f28e7de47b0..d4d322eeb6d 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.js @@ -101,7 +101,7 @@ export default class RuleFacet extends React.PureComponent { return ( <FacetItemsList> - {rules.map(rule => ( + {rules.map(rule => <FacetItem active={this.props.rules.includes(rule)} facetMode={this.props.facetMode} @@ -111,7 +111,7 @@ export default class RuleFacet extends React.PureComponent { stat={this.getStat(rule)} value={rule} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.js index 14f4a09fc63..8fc81051b1b 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/StatusFacet.js @@ -68,9 +68,7 @@ export default class StatusFacet extends React.PureComponent { renderStatus(status: string) { return ( <span> - <i className={`icon-status-${status.toLowerCase()}`} /> - {' '} - {translate('issue.status', status)} + <i className={`icon-status-${status.toLowerCase()}`} /> {translate('issue.status', status)} </span> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.js index 91fc77c5f54..319bf8df0eb 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.js @@ -98,7 +98,7 @@ export default class TagFacet extends React.PureComponent { return ( <FacetItemsList> - {tags.map(tag => ( + {tags.map(tag => <FacetItem active={this.props.tags.includes(tag)} facetMode={this.props.facetMode} @@ -108,7 +108,7 @@ export default class TagFacet extends React.PureComponent { stat={this.getStat(tag)} value={tag} /> - ))} + )} </FacetItemsList> ); } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.js b/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.js index f8b7630b834..362e690c997 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/TypeFacet.js @@ -76,7 +76,11 @@ export default class TypeFacet extends React.PureComponent { disabled={stat === 0 && !active} facetMode={this.props.facetMode} key={type} - name={<span><IssueTypeIcon query={type} /> {translate('issue.type', type)}</span>} + name={ + <span> + <IssueTypeIcon query={type} /> {translate('issue.type', type)} + </span> + } onClick={this.handleItemClick} stat={stat} value={type} diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetHeader.js b/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetHeader.js index 19b720e9f7e..eb084d38f65 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetHeader.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetHeader.js @@ -73,7 +73,11 @@ export default class FacetHeader extends React.PureComponent { if (this.props.open || !this.props.values) { return null; } - return <span className="spacer-left badge is-rounded">{this.props.values}</span>; + return ( + <span className="spacer-left badge is-rounded"> + {this.props.values} + </span> + ); } render() { @@ -90,7 +94,7 @@ export default class FacetHeader extends React.PureComponent { {this.props.onClick ? <a className="search-navigator-facet-header" href="#" onClick={this.handleClick}> - {this.renderCheckbox()}{' '}{this.props.name}{' '}{this.renderValueIndicator()} + {this.renderCheckbox()} {this.props.name} {this.renderValueIndicator()} </a> : <span className="search-navigator-facet-header"> {this.props.name} diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetItem.js b/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetItem.js index 81feb40dbf1..58e64edbad7 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetItem.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/components/FacetItem.js @@ -61,12 +61,20 @@ export default class FacetItem extends React.PureComponent { return this.props.disabled ? <span className={className}> - <span className="facet-name">{this.props.name}</span> - <span className="facet-stat">{formattedStat}</span> + <span className="facet-name"> + {this.props.name} + </span> + <span className="facet-stat"> + {formattedStat} + </span> </span> : <a className={className} data-value={this.props.value} href="#" onClick={this.handleClick}> - <span className="facet-name">{this.props.name}</span> - <span className="facet-stat">{formattedStat}</span> + <span className="facet-name"> + {this.props.name} + </span> + <span className="facet-stat"> + {formattedStat} + </span> </a>; } } diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetBox-test.js b/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetBox-test.js index 0eb453e8066..2ebd4b3feaa 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetBox-test.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetBox-test.js @@ -23,5 +23,11 @@ import { shallow } from 'enzyme'; import FacetBox from '../FacetBox'; it('should render', () => { - expect(shallow(<FacetBox property="foo"><div /></FacetBox>)).toMatchSnapshot(); + expect( + shallow( + <FacetBox property="foo"> + <div /> + </FacetBox> + ) + ).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetItemsList-test.js b/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetItemsList-test.js index 883e62b88d4..39fc1fb4eef 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetItemsList-test.js +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/components/__tests__/FacetItemsList-test.js @@ -23,5 +23,11 @@ import { shallow } from 'enzyme'; import FacetItemsList from '../FacetItemsList'; it('should render', () => { - expect(shallow(<FacetItemsList><div /></FacetItemsList>)).toMatchSnapshot(); + expect( + shallow( + <FacetItemsList> + <div /> + </FacetItemsList> + ) + ).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/issues/styles.css b/server/sonar-web/src/main/js/apps/issues/styles.css index b2041786cf7..3d1a53be793 100644 --- a/server/sonar-web/src/main/js/apps/issues/styles.css +++ b/server/sonar-web/src/main/js/apps/issues/styles.css @@ -2,7 +2,8 @@ line-height: 24px; } -.concise-issues-list-header, .concise-issues-list-header-inner { +.concise-issues-list-header, +.concise-issues-list-header-inner { } .concise-issues-list-header { @@ -114,7 +115,8 @@ text-align: right; } -.issues .search-navigator-facet-header, .issues .search-navigator-facet-list { +.issues .search-navigator-facet-header, +.issues .search-navigator-facet-list { padding-left: 0; padding-right: 0; } diff --git a/server/sonar-web/src/main/js/apps/organizations/components/MembersList.js b/server/sonar-web/src/main/js/apps/organizations/components/MembersList.js index c4996144eae..1d70e46c067 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/MembersList.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/MembersList.js @@ -38,7 +38,7 @@ export default class MembersList extends React.PureComponent { return ( <table className="data zebra"> <tbody> - {this.props.members.map(member => ( + {this.props.members.map(member => <MembersListItem key={member.login} member={member} @@ -47,7 +47,7 @@ export default class MembersList extends React.PureComponent { removeMember={this.props.removeMember} updateMemberGroups={this.props.updateMemberGroups} /> - ))} + )} </tbody> </table> ); diff --git a/server/sonar-web/src/main/js/apps/organizations/components/MembersListHeader.js b/server/sonar-web/src/main/js/apps/organizations/components/MembersListHeader.js index a609ffce38e..51e91986524 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/MembersListHeader.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/MembersListHeader.js @@ -38,8 +38,7 @@ export default class MembersListHeader extends React.PureComponent { <UsersSearch onSearch={this.props.handleSearch} className="display-inline-block" /> {total != null && <span className="pull-right little-spacer-top"> - <strong>{formatMeasure(total, 'INT')}</strong> - {' '} + <strong>{formatMeasure(total, 'INT')}</strong>{' '} {translate('organization.members.members')} </span>} </div> diff --git a/server/sonar-web/src/main/js/apps/organizations/components/MembersListItem.js b/server/sonar-web/src/main/js/apps/organizations/components/MembersListItem.js index 1c4fe231339..3ee6a16d9de 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/MembersListItem.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/MembersListItem.js @@ -48,8 +48,12 @@ export default class MembersListItem extends React.PureComponent { <Avatar hash={member.avatar} email={member.email} name={member.name} size={AVATAR_SIZE} /> </td> <td className="nowrap text-middle"> - <strong>{member.name}</strong> - <span className="note little-spacer-left">{member.login}</span> + <strong> + {member.name} + </strong> + <span className="note little-spacer-left"> + {member.login} + </span> </td> {organization.canAdmin && <td className="text-right text-middle"> @@ -64,9 +68,7 @@ export default class MembersListItem extends React.PureComponent { <button className="dropdown-toggle little-spacer-right button-compact" data-toggle="dropdown"> - <i className="icon-settings" /> - {' '} - <i className="icon-dropdown" /> + <i className="icon-settings" /> <i className="icon-dropdown" /> </button> <ul className="dropdown-menu dropdown-menu-right"> <li> diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.js b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.js index dbfce33a3fd..0269d9640a9 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationDelete.js @@ -68,9 +68,10 @@ class OrganizationDelete extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.handleCloseModal}> - <header className="modal-head"> - <h2>{translate('organization.delete')}</h2> + <h2> + {translate('organization.delete')} + </h2> </header> <form onSubmit={this.handleSubmit}> @@ -82,14 +83,15 @@ class OrganizationDelete extends React.PureComponent { {this.state.loading ? <i className="spinner" /> : <div> - <button type="submit" className="button-red">{translate('delete')}</button> + <button type="submit" className="button-red"> + {translate('delete')} + </button> <button type="reset" className="button-link" onClick={this.handleCloseModal}> {translate('cancel')} </button> </div>} </footer> </form> - </Modal> ); } @@ -101,8 +103,12 @@ class OrganizationDelete extends React.PureComponent { <Helmet title={title} /> <header className="page-header"> - <h1 className="page-title">{title}</h1> - <div className="page-description">{translate('organization.delete.description')}</div> + <h1 className="page-title"> + {title} + </h1> + <div className="page-description"> + {translate('organization.delete.description')} + </div> </header> <div> diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.js b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.js index a75fd2d9444..51c3494308e 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationEdit.js @@ -101,7 +101,9 @@ class OrganizationEdit extends React.PureComponent { <Helmet title={title} /> <header className="page-header"> - <h1 className="page-title">{title}</h1> + <h1 className="page-title"> + {title} + </h1> </header> <form onSubmit={this.handleSubmit}> @@ -184,7 +186,9 @@ class OrganizationEdit extends React.PureComponent { </div> </div> <div className="modal-field"> - <button type="submit" disabled={this.state.loading}>{translate('save')}</button> + <button type="submit" disabled={this.state.loading}> + {translate('save')} + </button> {this.state.loading && <i className="spinner spacer-left" />} </div> </form> diff --git a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.js b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.js index b8afa70b90d..4c831405c7a 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/OrganizationGroupCheckbox.js @@ -51,8 +51,7 @@ export default class OrganizationGroupCheckbox extends React.PureComponent { tabIndex={0} role="listitem" disabled={group.default}> - <Checkbox checked={this.props.checked} onCheck={this.onCheck} /> - {' '}{group.name} + <Checkbox checked={this.props.checked} onCheck={this.onCheck} /> {group.name} </li> ); } diff --git a/server/sonar-web/src/main/js/apps/organizations/components/forms/AddMemberForm.js b/server/sonar-web/src/main/js/apps/organizations/components/forms/AddMemberForm.js index e59f7137a8b..d31c8fa4581 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/forms/AddMemberForm.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/forms/AddMemberForm.js @@ -81,12 +81,16 @@ export default class AddMemberForm extends React.PureComponent { overlayClassName="modal-overlay" onRequestClose={this.closeForm}> <header className="modal-head"> - <h2>{translate('users.add')}</h2> + <h2> + {translate('users.add')} + </h2> </header> <form onSubmit={this.handleSubmit}> <div className="modal-body"> <div className="modal-large-field"> - <label>{translate('users.search_description')}</label> + <label> + {translate('users.search_description')} + </label> <UsersSelectSearch autoFocus={true} selectedUser={this.state.selectedMember} diff --git a/server/sonar-web/src/main/js/apps/organizations/components/forms/ManageMemberGroupsForm.js b/server/sonar-web/src/main/js/apps/organizations/components/forms/ManageMemberGroupsForm.js index 4021f1a5ade..f04c903173e 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/forms/ManageMemberGroupsForm.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/forms/ManageMemberGroupsForm.js @@ -109,7 +109,9 @@ export default class ManageMemberGroupsForm extends React.PureComponent { overlayClassName="modal-overlay" onRequestClose={this.closeForm}> <header className="modal-head"> - <h2>{translate('organization.members.manage_groups')}</h2> + <h2> + {translate('organization.members.manage_groups')} + </h2> </header> <form onSubmit={this.handleSubmit}> <div className="modal-body"> @@ -118,22 +120,25 @@ export default class ManageMemberGroupsForm extends React.PureComponent { 'organization.members.members_groups', this.props.member.name )} - </strong>{' '}{this.state.loading && <i className="spinner" />} + </strong>{' '} + {this.state.loading && <i className="spinner" />} {!this.state.loading && <ul className="list-spaced"> - {this.props.organizationGroups.map(group => ( + {this.props.organizationGroups.map(group => <OrganizationGroupCheckbox key={group.id} group={group} checked={this.isGroupSelected(group.name)} onCheck={this.onCheck} /> - ))} + )} </ul>} </div> <footer className="modal-foot"> <div> - <button type="submit">{translate('save')}</button> + <button type="submit"> + {translate('save')} + </button> <button type="reset" className="button-link" onClick={this.closeForm}> {translate('cancel')} </button> diff --git a/server/sonar-web/src/main/js/apps/organizations/components/forms/RemoveMemberForm.js b/server/sonar-web/src/main/js/apps/organizations/components/forms/RemoveMemberForm.js index 5d001dc026e..02eb6e6848f 100644 --- a/server/sonar-web/src/main/js/apps/organizations/components/forms/RemoveMemberForm.js +++ b/server/sonar-web/src/main/js/apps/organizations/components/forms/RemoveMemberForm.js @@ -65,7 +65,9 @@ export default class RemoveMemberForm extends React.PureComponent { overlayClassName="modal-overlay" onRequestClose={this.closeForm}> <header className="modal-head"> - <h2>{translate('users.remove')}</h2> + <h2> + {translate('users.remove')} + </h2> </header> <form onSubmit={this.handleSubmit}> <div className="modal-body markdown"> diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js index b71ded90831..370b2bc4dfb 100644 --- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js +++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js @@ -153,7 +153,9 @@ export default class OrganizationNavigation extends React.PureComponent { <OrganizationIcon /> </span> <Link to={`/organizations/${organization.key}`} className="link-base-color"> - <strong>{organization.name}</strong> + <strong> + {organization.name} + </strong> </Link> </h2> diff --git a/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.js b/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.js index ba9689b3b5e..3b5037fdb09 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.js +++ b/server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.js @@ -48,8 +48,12 @@ export default function EmptyOverview({ component }: Props) { </div> <div className="big-spacer-top"> - <h4>{translate('key')}</h4> - <code>{component.key}</code> + <h4> + {translate('key')} + </h4> + <code> + {component.key} + </code> </div> </div> ); diff --git a/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.js b/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.js index 4f3f98a9e5d..dc2af1733aa 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.js +++ b/server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.js @@ -85,7 +85,9 @@ export default function LeakPeriodLegend({ period }: { period: Period }) { <div className="overview-legend"> {translateWithParameters('overview.leak_period_x', leakPeriodLabel)} <br /> - <span className="note">{note}</span> + <span className="note"> + {note} + </span> </div> </Tooltip> ); diff --git a/server/sonar-web/src/main/js/apps/overview/events/Analysis.js b/server/sonar-web/src/main/js/apps/overview/events/Analysis.js index 592c91de41b..916341a2000 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/Analysis.js +++ b/server/sonar-web/src/main/js/apps/overview/events/Analysis.js @@ -49,7 +49,9 @@ export default function Analysis(props: { analysis: AnalysisType }) { ? <div className="project-activity-events"> {sortedEvents.map(event => <Event event={event} key={event.key} />)} </div> - : <span className="note">{translate('project_activity.project_analyzed')}</span>} + : <span className="note"> + {translate('project_activity.project_analyzed')} + </span>} </li> </TooltipsContainer> ); diff --git a/server/sonar-web/src/main/js/apps/overview/events/Event.js b/server/sonar-web/src/main/js/apps/overview/events/Event.js index 1d377ecd253..bb79518b167 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/Event.js +++ b/server/sonar-web/src/main/js/apps/overview/events/Event.js @@ -27,16 +27,21 @@ export default function Event(props: { event: EventType }) { const { event } = props; if (event.category === 'VERSION') { - return <span className="overview-analysis-event badge">{props.event.name}</span>; + return ( + <span className="overview-analysis-event badge"> + {props.event.name} + </span> + ); } return ( <div className="overview-analysis-event"> <TooltipsContainer> <span> - <span className="note">{translate('event.category', event.category)}:</span> - {' '} - <strong title={event.description} data-toggle="tooltip">{event.name}</strong> + <span className="note">{translate('event.category', event.category)}:</span>{' '} + <strong title={event.description} data-toggle="tooltip"> + {event.name} + </strong> </span> </TooltipsContainer> </div> diff --git a/server/sonar-web/src/main/js/apps/overview/events/PreviewGraph.js b/server/sonar-web/src/main/js/apps/overview/events/PreviewGraph.js index 171c6d87975..42817e83c1e 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/PreviewGraph.js +++ b/server/sonar-web/src/main/js/apps/overview/events/PreviewGraph.js @@ -129,7 +129,7 @@ export default class PreviewGraph extends React.PureComponent { tabIndex={0} role="link"> <AutoSizer disableHeight={true}> - {({ width }) => ( + {({ width }) => <div> <AdvancedTimeline endDate={null} @@ -158,8 +158,7 @@ export default class PreviewGraph extends React.PureComponent { tooltipIdx={tooltipIdx} tooltipPos={tooltipXPos} />} - </div> - )} + </div>} </AutoSizer> </div> ); diff --git a/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltipsContent.js b/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltipsContent.js index a91af02daf3..f77511bc923 100644 --- a/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltipsContent.js +++ b/server/sonar-web/src/main/js/apps/overview/events/PreviewGraphTooltipsContent.js @@ -39,7 +39,9 @@ export default function PreviewGraphTooltipsContent({ serie, translatedName, val <td className="overview-analysis-graph-tooltip-value text-right little-spacer-right thin"> {value} </td> - <td className="text-ellipsis">{translatedName}</td> + <td className="text-ellipsis"> + {translatedName} + </td> </tr> ); } diff --git a/server/sonar-web/src/main/js/apps/overview/main/BugsAndVulnerabilities.js b/server/sonar-web/src/main/js/apps/overview/main/BugsAndVulnerabilities.js index 1de56542c21..f427b1a9a44 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/BugsAndVulnerabilities.js +++ b/server/sonar-web/src/main/js/apps/overview/main/BugsAndVulnerabilities.js @@ -41,9 +41,13 @@ class BugsAndVulnerabilities extends React.PureComponent { return ( <div className="overview-card-header"> <div className="overview-title"> - <Link to={bugsDomainUrl}>{translate('metric.bugs.name')}</Link> + <Link to={bugsDomainUrl}> + {translate('metric.bugs.name')} + </Link> {' & '} - <Link to={vulnerabilitiesDomainUrl}>{translate('metric.vulnerabilities.name')}</Link> + <Link to={vulnerabilitiesDomainUrl}> + {translate('metric.vulnerabilities.name')} + </Link> </div> </div> ); @@ -95,7 +99,6 @@ class BugsAndVulnerabilities extends React.PureComponent { return ( <div className="overview-domain-nutshell"> <div className="overview-domain-measures"> - <div className="overview-domain-measure"> <div className="display-inline-block text-middle" style={{ paddingLeft: 56 }}> <div className="overview-domain-measure-value"> diff --git a/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.js b/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.js index 6ae5012f443..07bd2ae83ec 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.js +++ b/server/sonar-web/src/main/js/apps/overview/main/CodeSmells.js @@ -114,7 +114,6 @@ class CodeSmells extends React.PureComponent { return ( <div className="overview-domain-nutshell"> <div className="overview-domain-measures"> - <div className="overview-domain-measure"> <div className="display-inline-block text-middle" style={{ paddingLeft: 56 }}> <div className="overview-domain-measure-value"> diff --git a/server/sonar-web/src/main/js/apps/overview/main/Coverage.js b/server/sonar-web/src/main/js/apps/overview/main/Coverage.js index 2c86b6e6970..915b93e6857 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/Coverage.js +++ b/server/sonar-web/src/main/js/apps/overview/main/Coverage.js @@ -95,32 +95,34 @@ class Coverage extends React.PureComponent { ? getPeriodValue(newLinesToCover, leakPeriod.index) : null; - const formattedValue = newCoverageValue != null - ? <div> - <DrilldownLink component={component.key} metric={newCoverageMeasure.metric.key}> - <span className="js-overview-main-new-coverage"> - {formatMeasure(newCoverageValue, 'PERCENT')} - </span> - </DrilldownLink> - </div> - : <span>—</span>; - const label = newLinesToCoverValue != null && newLinesToCoverValue > 0 - ? <div className="overview-domain-measure-label"> - {translate('overview.coverage_on')} - <br /> - <DrilldownLink - className="spacer-right overview-domain-secondary-measure-value" - component={component.key} - metric={newLinesToCover.metric.key}> - <span className="js-overview-main-new-coverage"> - {formatMeasure(newLinesToCoverValue, 'SHORT_INT')} - </span> - </DrilldownLink> - {getMetricName('new_lines_to_cover')} - </div> - : <div className="overview-domain-measure-label"> - {getMetricName('new_coverage')} - </div>; + const formattedValue = + newCoverageValue != null + ? <div> + <DrilldownLink component={component.key} metric={newCoverageMeasure.metric.key}> + <span className="js-overview-main-new-coverage"> + {formatMeasure(newCoverageValue, 'PERCENT')} + </span> + </DrilldownLink> + </div> + : <span>—</span>; + const label = + newLinesToCoverValue != null && newLinesToCoverValue > 0 + ? <div className="overview-domain-measure-label"> + {translate('overview.coverage_on')} + <br /> + <DrilldownLink + className="spacer-right overview-domain-secondary-measure-value" + component={component.key} + metric={newLinesToCover.metric.key}> + <span className="js-overview-main-new-coverage"> + {formatMeasure(newLinesToCoverValue, 'SHORT_INT')} + </span> + </DrilldownLink> + {getMetricName('new_lines_to_cover')} + </div> + : <div className="overview-domain-measure-label"> + {getMetricName('new_coverage')} + </div>; return ( <div className="overview-domain-measure"> <div className="overview-domain-measure-value"> diff --git a/server/sonar-web/src/main/js/apps/overview/main/Duplications.js b/server/sonar-web/src/main/js/apps/overview/main/Duplications.js index c6e9a8cd18f..2a3813238fa 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/Duplications.js +++ b/server/sonar-web/src/main/js/apps/overview/main/Duplications.js @@ -79,32 +79,34 @@ class Duplications extends React.PureComponent { ? getPeriodValue(newLinesMeasure, leakPeriod.index) : null; - const formattedValue = newDuplicationsValue != null - ? <div> - <DrilldownLink component={component.key} metric={newDuplicationsMeasure.metric.key}> - <span className="js-overview-main-new-duplications"> - {formatMeasure(newDuplicationsValue, 'PERCENT')} - </span> - </DrilldownLink> - </div> - : <span>—</span>; - const label = newLinesValue != null && newLinesValue > 0 - ? <div className="overview-domain-measure-label"> - {translate('overview.duplications_on')} - <br /> - <DrilldownLink - className="spacer-right overview-domain-secondary-measure-value" - component={component.key} - metric={newLinesMeasure.metric.key}> - <span className="js-overview-main-new-lines"> - {formatMeasure(newLinesValue, 'SHORT_INT')} - </span> - </DrilldownLink> - {getMetricName('new_lines')} - </div> - : <div className="overview-domain-measure-label"> - {getMetricName('new_duplications')} - </div>; + const formattedValue = + newDuplicationsValue != null + ? <div> + <DrilldownLink component={component.key} metric={newDuplicationsMeasure.metric.key}> + <span className="js-overview-main-new-duplications"> + {formatMeasure(newDuplicationsValue, 'PERCENT')} + </span> + </DrilldownLink> + </div> + : <span>—</span>; + const label = + newLinesValue != null && newLinesValue > 0 + ? <div className="overview-domain-measure-label"> + {translate('overview.duplications_on')} + <br /> + <DrilldownLink + className="spacer-right overview-domain-secondary-measure-value" + component={component.key} + metric={newLinesMeasure.metric.key}> + <span className="js-overview-main-new-lines"> + {formatMeasure(newLinesValue, 'SHORT_INT')} + </span> + </DrilldownLink> + {getMetricName('new_lines')} + </div> + : <div className="overview-domain-measure-label"> + {getMetricName('new_duplications')} + </div>; return ( <div className="overview-domain-measure"> <div className="overview-domain-measure-value"> diff --git a/server/sonar-web/src/main/js/apps/overview/main/enhance.js b/server/sonar-web/src/main/js/apps/overview/main/enhance.js index 2bd0e72530b..a884d22332a 100644 --- a/server/sonar-web/src/main/js/apps/overview/main/enhance.js +++ b/server/sonar-web/src/main/js/apps/overview/main/enhance.js @@ -62,7 +62,9 @@ export default function enhance(ComposedComponent) { return ( <div className="overview-card-header"> <div className="overview-title"> - <Link to={domainUrl}>{label}</Link> + <Link to={domainUrl}> + {label} + </Link> </div> </div> ); @@ -99,9 +101,10 @@ export default function enhance(ComposedComponent) { const { measures, leakPeriod } = this.props; const measure = measures.find(measure => measure.metric.key === metricKey); const periodValue = getPeriodValue(measure, leakPeriod.index); - const formatted = periodValue != null - ? formatMeasureVariation(periodValue, getShortType(measure.metric.type)) - : NO_VALUE; + const formatted = + periodValue != null + ? formatMeasureVariation(periodValue, getShortType(measure.metric.type)) + : NO_VALUE; return ( <div className="overview-domain-measure"> <div className="overview-domain-measure-value"> diff --git a/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.js b/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.js index 4028e1a6a8a..0367e3a8147 100644 --- a/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.js +++ b/server/sonar-web/src/main/js/apps/overview/meta/MetaSize.js @@ -49,7 +49,9 @@ export default class MetaSize extends React.PureComponent { <DrilldownLink component={this.props.component.key} metric="ncloc"> {formatMeasure(ncloc.value, 'SHORT_INT')} </DrilldownLink> - <div className="overview-domain-measure-label text-muted">{getMetricName('ncloc')}</div> + <div className="overview-domain-measure-label text-muted"> + {getMetricName('ncloc')} + </div> </div> <div id="overview-language-distribution" className="overview-meta-size-lang-dist"> <LanguageDistribution distribution={languageDistribution.value} /> diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js index d2ac1128fce..47ff132eadd 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateCondition.js @@ -53,7 +53,7 @@ export default class QualityGateCondition extends React.PureComponent { const delta = Math.abs(threshold - value); if (delta < 0.1 && delta > 0) { //$FlowFixMe The matching result can't null because of the previous check - return delta.toFixed(20).match('[^0\.]').index - 1; + return delta.toFixed(20).match('[^0.]').index - 1; } } diff --git a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.js b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.js index cd98f13bae9..d3edece78d7 100644 --- a/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.js +++ b/server/sonar-web/src/main/js/apps/overview/qualityGate/QualityGateConditions.js @@ -98,13 +98,13 @@ export default class QualityGateConditions extends React.PureComponent { <div id="overview-quality-gate-conditions-list" className="overview-quality-gate-conditions-list clearfix"> - {sortedConditions.map(condition => ( + {sortedConditions.map(condition => <QualityGateCondition key={condition.measure.metric.key} component={component} condition={condition} /> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/overview/styles.css b/server/sonar-web/src/main/js/apps/overview/styles.css index 5de0ceca320..390ca241dea 100644 --- a/server/sonar-web/src/main/js/apps/overview/styles.css +++ b/server/sonar-web/src/main/js/apps/overview/styles.css @@ -42,7 +42,8 @@ background-color: #f3f3f3; } -.overview-quality-gate-conditions-list {} +.overview-quality-gate-conditions-list { +} .overview-quality-gate-condition { float: left; @@ -134,7 +135,6 @@ color: #ed7d20; } - /* * Domain */ @@ -354,7 +354,8 @@ box-sizing: border-box; } -.overview-analysis {} +.overview-analysis { +} .overview-analysis + .overview-analysis { margin-top: 8px; @@ -394,7 +395,8 @@ font-weight: bold; } -.overview-analysis-event {} +.overview-analysis-event { +} .overview-analysis-event.badge { vertical-align: middle; diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.js b/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.js index 782bb4129c3..fca2990dc54 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/ActionsCell.js @@ -76,9 +76,10 @@ export default class ActionsCell extends React.PureComponent { } getAvailableQualifiers() { - const topQualifiers = this.props.organization && !this.props.organization.isDefault - ? ['TRK'] - : this.props.topQualifiers; + const topQualifiers = + this.props.organization && !this.props.organization.isDefault + ? ['TRK'] + : this.props.topQualifiers; return difference(topQualifiers, this.props.permissionTemplate.defaultFor); } @@ -89,7 +90,11 @@ export default class ActionsCell extends React.PureComponent { marginRight: 4, textAlign: 'center' }; - return <div style={style}>{icon}</div>; + return ( + <div style={style}> + {icon} + </div> + ); } renderSetDefaultsControl() { @@ -123,7 +128,9 @@ export default class ActionsCell extends React.PureComponent { return availableQualifiers.map(qualifier => this.renderSetDefaultLink( qualifier, - <span>{translate('permission_templates.set_default')}</span> + <span> + {translate('permission_templates.set_default')} + </span> ) ); } @@ -133,11 +140,8 @@ export default class ActionsCell extends React.PureComponent { this.renderSetDefaultLink( qualifier, <span> - {translate('permission_templates.set_default_for')} - {' '} - <QualifierIcon qualifier={qualifier} /> - {' '} - {translate('qualifiers', qualifier)} + {translate('permission_templates.set_default_for')}{' '} + <QualifierIcon qualifier={qualifier} /> {translate('qualifiers', qualifier)} </span> ) ); @@ -153,9 +157,7 @@ export default class ActionsCell extends React.PureComponent { return ( <div className="dropdown"> <button className="dropdown-toggle" data-toggle="dropdown"> - {translate('actions')} - {' '} - <i className="icon-dropdown" /> + {translate('actions')} <i className="icon-dropdown" /> </button> <ul className="dropdown-menu dropdown-menu-right"> diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.js b/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.js index 0a8e7782061..4a551a419fc 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Defaults.js @@ -29,9 +29,10 @@ export default class Defaults extends React.PureComponent { }; render() { - const qualifiersToDisplay = this.props.organization && !this.props.organization.isDefault - ? ['TRK'] - : this.props.permissionTemplate.defaultFor; + const qualifiersToDisplay = + this.props.organization && !this.props.organization.isDefault + ? ['TRK'] + : this.props.permissionTemplate.defaultFor; const qualifiers = sortBy(qualifiersToDisplay) .map(qualifier => translate('qualifiers', qualifier)) diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/List.js b/server/sonar-web/src/main/js/apps/permission-templates/components/List.js index 275489d3500..200fb7244fb 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/List.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/List.js @@ -32,7 +32,7 @@ export default class List extends React.PureComponent { }; render() { - const permissionTemplates = this.props.permissionTemplates.map(p => ( + const permissionTemplates = this.props.permissionTemplates.map(p => <ListItem key={p.id} organization={this.props.organization} @@ -40,12 +40,14 @@ export default class List extends React.PureComponent { topQualifiers={this.props.topQualifiers} refresh={this.props.refresh} /> - )); + ); return ( <table id="permission-templates" className="data zebra permissions-table"> <ListHeader organization={this.props.organization} permissions={this.props.permissions} /> - <tbody>{permissionTemplates}</tbody> + <tbody> + {permissionTemplates} + </tbody> </table> ); } diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.js b/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.js index 327003ebb85..31915dbacdd 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/ListHeader.js @@ -28,24 +28,24 @@ export default class ListHeader extends React.PureComponent { }; renderTooltip = permission => - (permission.key === 'user' || permission.key === 'codeviewer' + permission.key === 'user' || permission.key === 'codeviewer' ? <div> {permission.description} <div className="alert alert-warning spacer-top"> {translate('projects_role.public_projects_warning')} </div> </div> - : permission.description); + : permission.description; render() { - const cells = this.props.permissions.map(permission => ( + const cells = this.props.permissions.map(permission => <th key={permission.key} className="permission-column"> {permission.name} <Tooltip overlay={this.renderTooltip(permission)}> <i className="icon-help little-spacer-left" /> </Tooltip> </th> - )); + ); return ( <thead> diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/ListItem.js b/server/sonar-web/src/main/js/apps/permission-templates/components/ListItem.js index 855783fcb8b..b6dbec1d7b9 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/ListItem.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/ListItem.js @@ -32,9 +32,9 @@ export default class ListItem extends React.PureComponent { }; render() { - const permissions = this.props.permissionTemplate.permissions.map(p => ( + const permissions = this.props.permissionTemplate.permissions.map(p => <PermissionCell key={p.key} permission={p} /> - )); + ); return ( <tr data-id={this.props.permissionTemplate.id} data-name={this.props.permissionTemplate.name}> diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/NameCell.js b/server/sonar-web/src/main/js/apps/permission-templates/components/NameCell.js index 0cac1b1bac1..5e0d4ea196b 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/NameCell.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/NameCell.js @@ -38,7 +38,9 @@ export default class NameCell extends React.PureComponent { return ( <td> <Link to={{ pathname, query: { id: t.id } }}> - <strong className="js-name">{t.name}</strong> + <strong className="js-name"> + {t.name} + </strong> </Link> {t.defaultFor.length > 0 && diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.js b/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.js index 326b2f7d68b..ed2554903bd 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.js @@ -38,10 +38,16 @@ export default class PermissionCell extends React.PureComponent { {translate('permission_templates.project_creators')} </li>} <li className="little-spacer-bottom"> - <strong>{p.usersCount}</strong>{' user(s)'} + <strong> + {p.usersCount} + </strong> + {' user(s)'} </li> <li> - <strong>{p.groupsCount}</strong>{' group(s)'} + <strong> + {p.groupsCount} + </strong> + {' group(s)'} </li> </ul> </div> diff --git a/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js b/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js index f36ded96c5b..a0191df28f0 100644 --- a/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js +++ b/server/sonar-web/src/main/js/apps/permission-templates/components/Template.js @@ -216,14 +216,12 @@ export default class Template extends React.PureComponent { onSelectPermission={this.handleSelectPermission} onToggleUser={this.handleToggleUser} onToggleGroup={this.handleToggleGroup}> - <SearchForm query={this.state.query} filter={this.state.filter} onSearch={this.handleSearch} onFilter={this.handleFilter} /> - </HoldersList> </div> ); diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js b/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js index ba49d7fa27b..231992c4b73 100644 --- a/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js +++ b/server/sonar-web/src/main/js/apps/permissions/global/components/AllHoldersList.js @@ -71,9 +71,10 @@ class AllHoldersList extends React.PureComponent { } render() { - const order = this.props.organization && !this.props.organization.isDefault - ? PERMISSIONS_FOR_CUSTOM_ORG - : PERMISSIONS_ORDER; + const order = + this.props.organization && !this.props.organization.isDefault + ? PERMISSIONS_FOR_CUSTOM_ORG + : PERMISSIONS_ORDER; const l10nPrefix = this.props.organization ? 'organizations_permissions' : 'global_permissions'; @@ -92,14 +93,12 @@ class AllHoldersList extends React.PureComponent { onSelectPermission={this.props.onSelectPermission} onToggleUser={this.handleToggleUser.bind(this)} onToggleGroup={this.handleToggleGroup.bind(this)}> - <SearchForm query={this.props.query} filter={this.props.filter} onSearch={this.props.onSearch} onFilter={this.props.onFilter} /> - </HoldersList> ); } diff --git a/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js b/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js index a75573a643a..933fbb7421e 100644 --- a/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js +++ b/server/sonar-web/src/main/js/apps/permissions/global/components/PageHeader.js @@ -43,11 +43,15 @@ class PageHeader extends React.PureComponent { return ( <header className="page-header"> - <h1 className="page-title">{title}</h1> + <h1 className="page-title"> + {title} + </h1> {this.props.loading && <i className="spinner" />} - <div className="page-description">{description}</div> + <div className="page-description"> + {description} + </div> </header> ); } diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js index bbf41cfc88e..f91e5f9c39f 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/AllHoldersList.js @@ -106,14 +106,12 @@ export default class AllHoldersList extends React.PureComponent { onSelectPermission={this.handleSelectPermission} onToggleUser={this.handleToggleUser} onToggleGroup={this.handleToggleGroup}> - <SearchForm query={this.props.query} filter={this.props.filter} onSearch={this.props.onQueryChange} onFilter={this.props.onFilterChange} /> - </HoldersList> ); } diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/App.js b/server/sonar-web/src/main/js/apps/permissions/project/components/App.js index aba44835c1f..d06a080b3e9 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/App.js +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/App.js @@ -103,23 +103,25 @@ export default class App extends React.PureComponent { const { component } = this.props; const { filter, query, selectedPermission } = this.state; - const getUsers = filter !== 'groups' - ? api.getPermissionsUsersForComponent( - component.key, - query, - selectedPermission, - component.organization - ) - : Promise.resolve([]); + const getUsers = + filter !== 'groups' + ? api.getPermissionsUsersForComponent( + component.key, + query, + selectedPermission, + component.organization + ) + : Promise.resolve([]); - const getGroups = filter !== 'users' - ? api.getPermissionsGroupsForComponent( - component.key, - query, - selectedPermission, - component.organization - ) - : Promise.resolve([]); + const getGroups = + filter !== 'users' + ? api.getPermissionsGroupsForComponent( + component.key, + query, + selectedPermission, + component.organization + ) + : Promise.resolve([]); Promise.all([getUsers, getGroups]).then( responses => { @@ -157,9 +159,8 @@ export default class App extends React.PureComponent { if (this.mounted) { this.setState( (state: State) => ({ - selectedPermission: state.selectedPermission === selectedPermission - ? undefined - : selectedPermission + selectedPermission: + state.selectedPermission === selectedPermission ? undefined : selectedPermission }), this.loadHolders ); @@ -169,33 +170,33 @@ export default class App extends React.PureComponent { addPermissionToGroup = (group: string, permission: string) => this.state.groups.map( candidate => - (candidate.name === group + candidate.name === group ? { ...candidate, permissions: [...candidate.permissions, permission] } - : candidate) + : candidate ); addPermissionToUser = (user: string, permission: string) => this.state.users.map( candidate => - (candidate.login === user + candidate.login === user ? { ...candidate, permissions: [...candidate.permissions, permission] } - : candidate) + : candidate ); removePermissionFromGroup = (group: string, permission: string) => this.state.groups.map( candidate => - (candidate.name === group + candidate.name === group ? { ...candidate, permissions: without(candidate.permissions, permission) } - : candidate) + : candidate ); removePermissionFromUser = (user: string, permission: string) => this.state.users.map( candidate => - (candidate.login === user + candidate.login === user ? { ...candidate, permissions: without(candidate.permissions, permission) } - : candidate) + : candidate ); grantPermissionToGroup = (group: string, permission: string) => { diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js index b746b0ed969..8b968108a19 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.js @@ -59,9 +59,10 @@ export default class PageHeader extends React.PureComponent { ? translate('roles.page.description_portfolio') : translate('roles.page.description2'); - const visibilityDescription = component.qualifier === 'TRK' - ? translate('visibility', component.visibility, 'description') - : null; + const visibilityDescription = + component.qualifier === 'TRK' + ? translate('visibility', component.visibility, 'description') + : null; return ( <header className="page-header"> @@ -79,8 +80,13 @@ export default class PageHeader extends React.PureComponent { </div>} <div className="page-description"> - <p>{description}</p> - {visibilityDescription != null && <p>{visibilityDescription}</p>} + <p> + {description} + </p> + {visibilityDescription != null && + <p> + {visibilityDescription} + </p>} </div> </header> ); diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.js b/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.js index 498487ae3d4..ed5ee186b7b 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.js +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/PublicProjectDisclaimer.js @@ -52,7 +52,6 @@ export default class PublicProjectDisclaimer extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <header className="modal-head"> <h2> {translateWithParameters('projects_role.turn_x_to_public', this.props.component.name)} @@ -60,7 +59,9 @@ export default class PublicProjectDisclaimer extends React.PureComponent { </header> <div className="modal-body"> - <p>{translate('projects_role.are_you_sure_to_turn_project_to_public')}</p> + <p> + {translate('projects_role.are_you_sure_to_turn_project_to_public')} + </p> <p className="spacer-top"> {translate('projects_role.are_you_sure_to_turn_project_to_public.2')} </p> @@ -70,9 +71,10 @@ export default class PublicProjectDisclaimer extends React.PureComponent { <button id="confirm-turn-to-public" onClick={this.handleConfirmClick}> {translate('projects_role.turn_project_to_public')} </button> - <a href="#" onClick={this.handleCancelClick}>{translate('cancel')}</a> + <a href="#" onClick={this.handleCancelClick}> + {translate('cancel')} + </a> </footer> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.js b/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.js index fa051cd0b4c..dc037d86753 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.js +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/GroupHolder.js @@ -37,7 +37,7 @@ export default class GroupHolder extends React.PureComponent { render() { const { selectedPermission } = this.props; - const permissionCells = this.props.permissionsOrder.map(p => ( + const permissionCells = this.props.permissionsOrder.map(p => <td key={p.key} className="text-center text-middle" @@ -48,7 +48,7 @@ export default class GroupHolder extends React.PureComponent { : <i className="icon-checkbox" />} </button> </td> - )); + ); const { group } = this.props; @@ -60,7 +60,9 @@ export default class GroupHolder extends React.PureComponent { </div> <div className="display-inline-block text-middle"> <div> - <strong>{group.name}</strong> + <strong> + {group.name} + </strong> </div> <div className="little-spacer-top" style={{ whiteSpace: 'normal' }}> {group.description} diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.js b/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.js index d5c216d865d..d2eee7396c6 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.js +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/HoldersList.js @@ -46,19 +46,19 @@ export default class HoldersList extends React.PureComponent { }; renderTooltip = permission => - (this.props.showPublicProjectsWarning && - (permission.key === 'user' || permission.key === 'codeviewer') + this.props.showPublicProjectsWarning && + (permission.key === 'user' || permission.key === 'codeviewer') ? <div> {permission.description} <div className="alert alert-warning spacer-top"> {translate('projects_role.public_projects_warning')} </div> </div> - : permission.description); + : permission.description; renderTableHeader() { const { selectedPermission } = this.props; - const cells = this.props.permissions.map(p => ( + const cells = this.props.permissions.map(p => <th key={p.key} className="permission-column text-center" @@ -67,14 +67,16 @@ export default class HoldersList extends React.PureComponent { }}> <div className="permission-column-inner"> <Tooltip overlay={`Filter by "${p.name}" permission`}> - <a data-key={p.key} href="#" onClick={this.handlePermissionClick}>{p.name}</a> + <a data-key={p.key} href="#" onClick={this.handlePermissionClick}> + {p.name} + </a> </Tooltip> <Tooltip overlay={this.renderTooltip(p)}> <i className="icon-help little-spacer-left" /> </Tooltip> </div> </th> - )); + ); return ( <thead> <tr> @@ -99,7 +101,7 @@ export default class HoldersList extends React.PureComponent { } render() { - const users = this.props.users.map(user => ( + const users = this.props.users.map(user => <UserHolder key={'user-' + user.login} user={user} @@ -108,9 +110,9 @@ export default class HoldersList extends React.PureComponent { permissionsOrder={this.props.permissions} onToggle={this.props.onToggleUser} /> - )); + ); - const groups = this.props.groups.map(group => ( + const groups = this.props.groups.map(group => <GroupHolder key={'group-' + group.id} group={group} @@ -119,7 +121,7 @@ export default class HoldersList extends React.PureComponent { permissionsOrder={this.props.permissions} onToggle={this.props.onToggleGroup} /> - )); + ); return ( <table className="data zebra permissions-table"> diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.js b/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.js index 9d370f93081..9687e42732a 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.js +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/SearchForm.js @@ -59,7 +59,6 @@ export default class SearchForm extends React.PureComponent { return ( <div> - <RadioToggle value={filter} options={filterOptions} diff --git a/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.js b/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.js index 8883bbddb9f..d95158c9032 100644 --- a/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.js +++ b/server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.js @@ -38,7 +38,7 @@ export default class UserHolder extends React.PureComponent { render() { const { selectedPermission } = this.props; - const permissionCells = this.props.permissionsOrder.map(p => ( + const permissionCells = this.props.permissionsOrder.map(p => <td key={p.key} className="text-center text-middle" @@ -49,7 +49,7 @@ export default class UserHolder extends React.PureComponent { : <i className="icon-checkbox" />} </button> </td> - )); + ); const { user } = this.props; @@ -67,10 +67,18 @@ export default class UserHolder extends React.PureComponent { />} <div className="display-inline-block text-middle"> <div> - <strong>{user.name}</strong> - {!isCreator && <span className="note spacer-left">{user.login}</span>} + <strong> + {user.name} + </strong> + {!isCreator && + <span className="note spacer-left"> + {user.login} + </span>} </div> - {!isCreator && <div className="little-spacer-top">{user.email}</div>} + {!isCreator && + <div className="little-spacer-top"> + {user.email} + </div>} {isCreator && <div className="little-spacer-top" style={{ whiteSpace: 'normal' }}> {translate('permission_templates.project_creators.explanation')} diff --git a/server/sonar-web/src/main/js/apps/permissions/styles.css b/server/sonar-web/src/main/js/apps/permissions/styles.css index e57af7a47f4..cf1b4bb5e55 100644 --- a/server/sonar-web/src/main/js/apps/permissions/styles.css +++ b/server/sonar-web/src/main/js/apps/permissions/styles.css @@ -1,4 +1,5 @@ -.permissions-table {} +.permissions-table { +} .permissions-table > tbody > tr > td { border-bottom: 10px solid #fff !important; diff --git a/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js b/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js index ac8ca55598b..06f7189aae5 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js +++ b/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js @@ -85,7 +85,9 @@ export default class Form extends React.PureComponent { onRequestClose={this.closeModal}> <form onSubmit={this.handleSubmit}> <div className="modal-head"> - <h2>{translate('qualifiers.delete.TRK')}</h2> + <h2> + {translate('qualifiers.delete.TRK')} + </h2> </div> <div className="modal-body"> <div className="js-modal-messages" /> diff --git a/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdateResults.js b/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdateResults.js index b7beb6b213e..ff202655a41 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdateResults.js +++ b/server/sonar-web/src/main/js/apps/project-admin/key/BulkUpdateResults.js @@ -60,12 +60,16 @@ export default class BulkUpdateResults extends React.PureComponent { <table id="bulk-update-results" className="data zebra zebra-hover"> <thead> <tr> - <th>{translate('update_key.old_key')}</th> - <th>{translate('update_key.new_key')}</th> + <th> + {translate('update_key.old_key')} + </th> + <th> + {translate('update_key.new_key')} + </th> </tr> </thead> <tbody> - {results.map(result => ( + {results.map(result => <tr key={result.key} data-key={result.key}> <td className="js-old-key"> {result.key} @@ -78,7 +82,7 @@ export default class BulkUpdateResults extends React.PureComponent { {result.newKey} </td> </tr> - ))} + )} </tbody> </table>} diff --git a/server/sonar-web/src/main/js/apps/project-admin/key/FineGrainedUpdate.js b/server/sonar-web/src/main/js/apps/project-admin/key/FineGrainedUpdate.js index cc148816e40..2bdd43a5fb3 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/key/FineGrainedUpdate.js +++ b/server/sonar-web/src/main/js/apps/project-admin/key/FineGrainedUpdate.js @@ -29,18 +29,16 @@ export default function FineGrainedUpdate(props) { <div id="project-key-fine-grained-update"> <table className="data zebra"> <tbody> - {components.map(component => ( + {components.map(component => <tr key={component.key}> <td className="width-40"> - <QualifierIcon qualifier={component.qualifier} /> - {' '} - {component.name} + <QualifierIcon qualifier={component.qualifier} /> {component.name} </td> <td> <UpdateKeyForm component={component} onKeyChange={props.onKeyChange} /> </td> </tr> - ))} + )} </tbody> </table> </div> diff --git a/server/sonar-web/src/main/js/apps/project-admin/key/UpdateForm.js b/server/sonar-web/src/main/js/apps/project-admin/key/UpdateForm.js index 99ec9764f52..1de387c9721 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/key/UpdateForm.js +++ b/server/sonar-web/src/main/js/apps/project-admin/key/UpdateForm.js @@ -72,8 +72,7 @@ export default class UpdateForm extends React.PureComponent { <div className="spacer-top"> <button id="update-key-submit" disabled={!hasChanged}> {translate('update_verb')} - </button> - {' '} + </button>{' '} <button id="update-key-reset" disabled={!hasChanged} diff --git a/server/sonar-web/src/main/js/apps/project-admin/links/LinkRow.js b/server/sonar-web/src/main/js/apps/project-admin/links/LinkRow.js index 3c32c80fc84..67313e188f4 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/links/LinkRow.js +++ b/server/sonar-web/src/main/js/apps/project-admin/links/LinkRow.js @@ -56,7 +56,9 @@ export default class LinkRow extends React.PureComponent { {this.renderIcon(`icon-${link.type}`)} <div className="display-inline-block text-top"> <div> - <span className="js-name">{link.name}</span> + <span className="js-name"> + {link.name} + </span> </div> <div className="note little-spacer-top"> <span className="js-type">{`sonar.links.${link.type}`}</span> @@ -75,7 +77,9 @@ export default class LinkRow extends React.PureComponent { <div> {this.renderIcon('icon-detach')} <div className="display-inline-block text-top"> - <span className="js-name">{link.name}</span> + <span className="js-name"> + {link.name} + </span> </div> </div> ); @@ -83,7 +87,11 @@ export default class LinkRow extends React.PureComponent { renderUrl(link) { if (isClickable(link)) { - return <a href={link.url} target="_blank">{link.url}</a>; + return ( + <a href={link.url} target="_blank"> + {link.url} + </a> + ); } return link.url; @@ -106,9 +114,15 @@ export default class LinkRow extends React.PureComponent { return ( <tr data-name={link.name}> - <td className="nowrap">{this.renderName(link)}</td> - <td className="nowrap js-url">{this.renderUrl(link)}</td> - <td className="thin nowrap">{this.renderDeleteButton(link)}</td> + <td className="nowrap"> + {this.renderName(link)} + </td> + <td className="nowrap js-url"> + {this.renderUrl(link)} + </td> + <td className="thin nowrap"> + {this.renderDeleteButton(link)} + </td> </tr> ); } diff --git a/server/sonar-web/src/main/js/apps/project-admin/links/Table.js b/server/sonar-web/src/main/js/apps/project-admin/links/Table.js index 8aa1aad70e0..a7358dbb26b 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/links/Table.js +++ b/server/sonar-web/src/main/js/apps/project-admin/links/Table.js @@ -52,14 +52,16 @@ export default class Table extends React.PureComponent { render() { const orderedLinks = orderLinks(this.props.links); - const linkRows = orderedLinks.map(link => ( + const linkRows = orderedLinks.map(link => <LinkRow key={link.id} link={link} onDelete={this.handleDeleteLink.bind(this, link)} /> - )); + ); return ( <table id="project-links" className="data zebra"> {this.renderHeader()} - <tbody>{linkRows}</tbody> + <tbody> + {linkRows} + </tbody> </table> ); } diff --git a/server/sonar-web/src/main/js/apps/project-admin/quality-gate/Form.js b/server/sonar-web/src/main/js/apps/project-admin/quality-gate/Form.js index cbe9b7e9fdc..5e594cac288 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/quality-gate/Form.js +++ b/server/sonar-web/src/main/js/apps/project-admin/quality-gate/Form.js @@ -66,7 +66,9 @@ export default class Form extends React.PureComponent { if (gateOption.isDefault) { return ( <span> - <strong>{translate('default')}</strong> + <strong> + {translate('default')} + </strong> {': '} {gateOption.label} </span> diff --git a/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/ProfileRow.js b/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/ProfileRow.js index a0f3c132f30..bc1f3c55417 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/ProfileRow.js +++ b/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/ProfileRow.js @@ -49,7 +49,9 @@ export default class ProfileRow extends React.PureComponent { if (profileOption.isDefault) { return ( <span> - <strong>{translate('default')}</strong> + <strong> + {translate('default')} + </strong> {': '} {profileOption.label} </span> @@ -87,8 +89,12 @@ export default class ProfileRow extends React.PureComponent { return ( <tr data-key={profile.language}> - <td className="thin nowrap">{profile.languageName}</td> - <td className="thin nowrap">{this.renderProfileSelect()}</td> + <td className="thin nowrap"> + {profile.languageName} + </td> + <td className="thin nowrap"> + {this.renderProfileSelect()} + </td> <td> {this.state.loading && <i className="spinner" />} </td> diff --git a/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/Table.js b/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/Table.js index 3bb5c8ab603..77b9039762b 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/Table.js +++ b/server/sonar-web/src/main/js/apps/project-admin/quality-profiles/Table.js @@ -34,8 +34,12 @@ export default class Table extends React.PureComponent { return ( <thead> <tr> - <th className="thin nowrap">{translate('language')}</th> - <th className="thin nowrap">{translate('quality_profile')}</th> + <th className="thin nowrap"> + {translate('language')} + </th> + <th className="thin nowrap"> + {translate('quality_profile')} + </th> <th> </th> </tr> </thead> @@ -47,19 +51,21 @@ export default class Table extends React.PureComponent { const orderedProfiles = orderBy(this.props.profiles, 'languageName'); // set key to language to avoid destroying of component - const profileRows = orderedProfiles.map(profile => ( + const profileRows = orderedProfiles.map(profile => <ProfileRow key={profile.language} profile={profile} possibleProfiles={profilesByLanguage[profile.language]} onChangeProfile={this.props.onChangeProfile} /> - )); + ); return ( <table className="data zebra"> {this.renderHeader()} - <tbody>{profileRows}</tbody> + <tbody> + {profileRows} + </tbody> </table> ); } diff --git a/server/sonar-web/src/main/js/apps/project-admin/store/actions.js b/server/sonar-web/src/main/js/apps/project-admin/store/actions.js index d5a5cf222ec..6701e8f07db 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/store/actions.js +++ b/server/sonar-web/src/main/js/apps/project-admin/store/actions.js @@ -117,9 +117,10 @@ const setProjectGateAction = (projectKey, gateId) => ({ }); export const setProjectGate = (projectKey, oldId, newId) => dispatch => { - const request = newId != null - ? associateGateWithProject(newId, projectKey) - : dissociateGateWithProject(oldId, projectKey); + const request = + newId != null + ? associateGateWithProject(newId, projectKey) + : dissociateGateWithProject(oldId, projectKey); request.then(() => { dispatch(setProjectGateAction(projectKey, newId)); diff --git a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js index b3e4f2b28cf..df16d8fe359 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js @@ -35,7 +35,7 @@ const ANALYSES = [ { key: 'AVxZtC-N7841nF4RNEMJ', category: 'QUALITY_PROFILE', - name: 'Changes in \'Default - SonarSource conventions\' (Java)' + name: "Changes in 'Default - SonarSource conventions' (Java)" } ] }, @@ -48,7 +48,7 @@ const ANALYSES = [ { key: 'AVwQF7zXl-nNFgFWOJ3W', category: 'QUALITY_PROFILE', - name: 'Changes in \'Default - SonarSource conventions\' (Java)' + name: "Changes in 'Default - SonarSource conventions' (Java)" } ] }, diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/Event.js b/server/sonar-web/src/main/js/apps/projectActivity/components/Event.js index f5bc0579b16..df9bb12f972 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/Event.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/Event.js @@ -123,8 +123,8 @@ export default class Event extends React.PureComponent { } removeEventQuestion={ 'project_activity.' + - (isVersion ? 'remove_version' : 'remove_custom_event') + - '.question' + (isVersion ? 'remove_version' : 'remove_custom_event') + + '.question' } />} </div> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.js b/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.js index c6c5f8f09c1..15e53e3a994 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/EventInner.js @@ -36,9 +36,10 @@ export default function EventInner(props: { event: EventType }) { /> </div> <span className="project-activity-event-inner-text"> - <span className="note">{translate('event.category', event.category)}:</span> - {' '} - <strong title={event.description} data-toggle="tooltip">{event.name}</strong> + <span className="note">{translate('event.category', event.category)}:</span>{' '} + <strong title={event.description} data-toggle="tooltip"> + {event.name} + </strong> </span> </div> </TooltipsContainer> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/Events.js b/server/sonar-web/src/main/js/apps/projectActivity/components/Events.js index b1e03e06656..5e8aa73566b 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/Events.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/Events.js @@ -43,7 +43,7 @@ export default function Events(props: Props) { return ( <div className="project-activity-events"> - {sortedEvents.map(event => ( + {sortedEvents.map(event => <Event analysis={props.analysis} canAdmin={props.canAdmin} @@ -53,7 +53,7 @@ export default function Events(props: Props) { isFirst={props.isFirst} key={event.key} /> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.js index 6ce8ad5825b..963128938be 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsHistory.js @@ -147,7 +147,7 @@ export default class GraphsHistory extends React.PureComponent { : <GraphsLegendStatic series={series} />} <div className="project-activity-graph"> <AutoSizer> - {({ height, width }) => ( + {({ height, width }) => <div> <AdvancedTimeline endDate={this.props.graphEndDate} @@ -179,8 +179,7 @@ export default class GraphsHistory extends React.PureComponent { tooltipIdx={tooltipIdx} tooltipPos={tooltipXPos} />} - </div> - )} + </div>} </AutoSizer> </div> </div> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendStatic.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendStatic.js index 123bc9548b7..9a8fa09a7da 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendStatic.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsLegendStatic.js @@ -27,7 +27,7 @@ type Props = { export default function GraphsLegendStatic({ series }: Props) { return ( <div className="project-activity-graph-legends"> - {series.map(serie => ( + {series.map(serie => <GraphsLegendItem className="big-spacer-left big-spacer-right" key={serie.name} @@ -35,7 +35,7 @@ export default function GraphsLegendStatic({ series }: Props) { name={serie.translatedName} style={serie.style} /> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.js index f3dae718ad6..5d35236a723 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContent.js @@ -43,7 +43,9 @@ export default function GraphsTooltipsContent({ serie, translatedName, value }: <td className="project-activity-graph-tooltip-value text-right spacer-right thin"> {value} </td> - <td>{translatedName}</td> + <td> + {translatedName} + </td> </tr> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.js index ca2219e6947..a9be3cdb64b 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentCoverage.js @@ -38,7 +38,11 @@ export default function GraphsTooltipsContentCoverage({ measuresHistory, tooltip const coverageValue = coverage.history[tooltipIdx].value; return ( <tbody> - <tr><td className="project-activity-graph-tooltip-separator" colSpan="3"><hr /></td></tr> + <tr> + <td className="project-activity-graph-tooltip-separator" colSpan="3"> + <hr /> + </td> + </tr> {uncoveredValue && <tr className="project-activity-graph-tooltip-line"> <td @@ -46,7 +50,9 @@ export default function GraphsTooltipsContentCoverage({ measuresHistory, tooltip className="project-activity-graph-tooltip-value text-right spacer-right thin"> {formatMeasure(uncoveredValue, 'SHORT_INT')} </td> - <td>{translate('metric.uncovered_lines.name')}</td> + <td> + {translate('metric.uncovered_lines.name')} + </td> </tr>} {coverageValue && <tr className="project-activity-graph-tooltip-line"> @@ -55,7 +61,9 @@ export default function GraphsTooltipsContentCoverage({ measuresHistory, tooltip className="project-activity-graph-tooltip-value text-right spacer-right thin"> {formatMeasure(coverageValue, 'PERCENT')} </td> - <td>{translate('metric.coverage.name')}</td> + <td> + {translate('metric.coverage.name')} + </td> </tr>} </tbody> ); diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.js index cea4d9da585..9a8813fa2f7 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentDuplication.js @@ -41,14 +41,20 @@ export default function GraphsTooltipsContentDuplication({ measuresHistory, tool } return ( <tbody> - <tr><td className="project-activity-graph-tooltip-separator" colSpan="3"><hr /></td></tr> + <tr> + <td className="project-activity-graph-tooltip-separator" colSpan="3"> + <hr /> + </td> + </tr> <tr className="project-activity-graph-tooltip-line"> <td colSpan="2" className="project-activity-graph-tooltip-value text-right spacer-right thin"> {formatMeasure(duplicationDensityValue, 'PERCENT')} </td> - <td>{translate('metric.duplicated_lines_density.name')}</td> + <td> + {translate('metric.duplicated_lines_density.name')} + </td> </tr> </tbody> ); diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.js index 4348f21e872..c2759dc7f35 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentEvents.js @@ -30,8 +30,12 @@ type Props = { export default function GraphsTooltipsContentEvents({ events }: Props) { return ( <tbody> - <tr><td className="project-activity-graph-tooltip-separator" colSpan="3"><hr /></td></tr> - {events.map(event => ( + <tr> + <td className="project-activity-graph-tooltip-separator" colSpan="3"> + <hr /> + </td> + </tr> + {events.map(event => <tr key={event.key} className="project-activity-graph-tooltip-line"> <td className="text-top spacer-right thin"> <ProjectEventIcon @@ -45,7 +49,7 @@ export default function GraphsTooltipsContentEvents({ events }: Props) { {event.name} </td> </tr> - ))} + )} </tbody> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentOverview.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentOverview.js index f16476bd41e..ecd0f5ac126 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentOverview.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsTooltipsContentOverview.js @@ -57,10 +57,14 @@ export default function GraphsTooltipsContentOverview(props: Props) { /> </td> <td className="text-right spacer-right"> - <span className="project-activity-graph-tooltip-value">{props.value}</span> + <span className="project-activity-graph-tooltip-value"> + {props.value} + </span> {ratingValue && <Rating className="spacer-left" small={true} value={ratingValue} />} </td> - <td>{props.serie.translatedName}</td> + <td> + {props.serie.translatedName} + </td> </tr> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.js b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.js index f6e6bab8dc7..3acdafc99ad 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/GraphsZoom.js @@ -44,7 +44,7 @@ export default function GraphsZoom(props: Props) { return ( <div className="project-activity-graph-zoom"> <AutoSizer disableHeight={true}> - {({ width }) => ( + {({ width }) => <ZoomTimeLine endDate={props.graphEndDate} height={64} @@ -57,8 +57,7 @@ export default function GraphsZoom(props: Props) { showAreas={props.showAreas} startDate={props.graphStartDate} updateZoom={props.updateGraphZoom} - /> - )} + />} </AutoSizer> </div> ); diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.js index 2706f9d2b14..e6622a72ef7 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.js @@ -148,8 +148,12 @@ export default class ProjectActivityAnalysesList extends React.PureComponent { return ( <div className={this.props.className}> {this.props.loading - ? <div className="text-center"><i className="spinner" /></div> - : <span className="note">{translate('no_results')}</span>} + ? <div className="text-center"> + <i className="spinner" /> + </div> + : <span className="note"> + {translate('no_results')} + </span>} </div> ); } @@ -177,7 +181,7 @@ export default class ProjectActivityAnalysesList extends React.PureComponent { </span> </div>} <ul className="project-activity-days-list"> - {days.map(day => ( + {days.map(day => <li key={day} className="project-activity-day" @@ -187,7 +191,7 @@ export default class ProjectActivityAnalysesList extends React.PureComponent { </div> <ul className="project-activity-analyses-list"> {version.byDay[day] != null && - version.byDay[day].map(analysis => ( + version.byDay[day].map(analysis => <ProjectActivityAnalysis addCustomEvent={this.props.addCustomEvent} addVersion={this.props.addVersion} @@ -201,15 +205,18 @@ export default class ProjectActivityAnalysesList extends React.PureComponent { selected={analysis.date.valueOf() === selectedDate} updateSelectedDate={this.updateSelectedDate} /> - ))} + )} </ul> </li> - ))} + )} </ul> </li> ); })} - {this.props.analysesLoading && <li className="text-center"><i className="spinner" /></li>} + {this.props.analysesLoading && + <li className="text-center"> + <i className="spinner" /> + </li>} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.js index 72490f7d41b..a94b2f6ce26 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.js @@ -73,9 +73,7 @@ export default class ProjectActivityAnalysis extends React.PureComponent { className="js-analysis-actions button-small button-compact dropdown-toggle" data-toggle="dropdown" onClick={this.stopPropagation}> - <i className="icon-settings" /> - {' '} - <i className="icon-dropdown" /> + <i className="icon-settings" /> <i className="icon-dropdown" /> </button> <ul className="dropdown-menu dropdown-menu-right"> {!hasVersion && @@ -114,7 +112,6 @@ export default class ProjectActivityAnalysis extends React.PureComponent { events={events} isFirst={this.props.isFirst} />} - </li> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.js index 8198162e3c3..a77c653b147 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectOption.js @@ -62,7 +62,9 @@ export default class ProjectActivityEventSelectOption extends React.PureComponen onMouseMove={this.handleMouseMove} title={option.label}> <ProjectEventIcon className={'project-activity-event-icon ' + option.value} /> - <span className="little-spacer-left">{this.props.children}</span> + <span className="little-spacer-left"> + {this.props.children} + </span> </div> ); } diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.js index 3475c1b7e9c..08665bf06e4 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityEventSelectValue.js @@ -33,7 +33,9 @@ export default function ProjectActivityEventSelectValue(props: Props) { <div className="Select-value" title={value.label}> <div className="Select-value-label"> <ProjectEventIcon className={'project-activity-event-icon ' + value.value} /> - <span className="little-spacer-left">{props.children}</span> + <span className="little-spacer-left"> + {props.children} + </span> </div> </div> ); diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.js b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.js index 028fbc125a1..bcfc6672789 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddEventForm.js @@ -100,15 +100,18 @@ export default class AddEventForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.closeForm}> - <header className="modal-head"> - <h2>{translate(this.props.addEventButtonText)}</h2> + <h2> + {translate(this.props.addEventButtonText)} + </h2> </header> <form onSubmit={this.handleSubmit}> <div className="modal-body"> <div className="modal-field"> - <label>{translate('name')}</label> + <label> + {translate('name')} + </label> <input value={this.state.name} autoFocus={true} @@ -124,7 +127,9 @@ export default class AddEventForm extends React.PureComponent { {this.state.processing ? <i className="spinner" /> : <div> - <button type="submit">{translate('save')}</button> + <button type="submit"> + {translate('save')} + </button> <button type="reset" className="button-link" onClick={this.closeForm}> {translate('cancel')} </button> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js index 69c5a19d918..6d75c964004 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/AddGraphMetric.js @@ -105,12 +105,16 @@ export default class AddGraphMetric extends React.PureComponent { overlayClassName="modal-overlay" onRequestClose={this.closeForm}> <header className="modal-head"> - <h2>{translate('project_activity.graphs.custom.add_metric')}</h2> + <h2> + {translate('project_activity.graphs.custom.add_metric')} + </h2> </header> <form onSubmit={this.handleSubmit}> <div className="modal-body"> <div className="modal-large-field"> - <label>{translate('project_activity.graphs.custom.search')}</label> + <label> + {translate('project_activity.graphs.custom.search')} + </label> <Select autofocus={true} className="Select-big" diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.js b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.js index 6a091dcae76..40c19cba887 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/ChangeEventForm.js @@ -98,15 +98,18 @@ export default class ChangeEventForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.closeForm}> - <header className="modal-head"> - <h2>{translate(this.props.changeEventButtonText)}</h2> + <h2> + {translate(this.props.changeEventButtonText)} + </h2> </header> <form onSubmit={this.handleSubmit}> <div className="modal-body"> <div className="modal-field"> - <label>{translate('name')}</label> + <label> + {translate('name')} + </label> <input value={this.state.name} autoFocus={true} @@ -122,7 +125,9 @@ export default class ChangeEventForm extends React.PureComponent { {this.state.processing ? <i className="spinner" /> : <div> - <button type="submit">{translate('change_verb')}</button> + <button type="submit"> + {translate('change_verb')} + </button> <button type="reset" className="button-link" onClick={this.closeForm}> {translate('cancel')} </button> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.js b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.js index d96a05f7334..d8a12f791c5 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveAnalysisForm.js @@ -91,9 +91,10 @@ export default class RemoveAnalysisForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.closeForm}> - <header className="modal-head"> - <h2>{translate('project_activity.delete_analysis')}</h2> + <h2> + {translate('project_activity.delete_analysis')} + </h2> </header> <form onSubmit={this.handleSubmit}> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.js b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.js index b23522db21c..ac50df35dc7 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/forms/RemoveEventForm.js @@ -84,9 +84,10 @@ export default class RemoveEventForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.closeForm}> - <header className="modal-head"> - <h2>{translate(this.props.removeEventButtonText)}</h2> + <h2> + {translate(this.props.removeEventButtonText)} + </h2> </header> <form onSubmit={this.handleSubmit}> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/projectActivity.css b/server/sonar-web/src/main/js/apps/projectActivity/components/projectActivity.css index a42cbc13f2e..7e63c546db9 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/projectActivity.css +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/projectActivity.css @@ -99,11 +99,13 @@ margin-bottom: 8px; } -.project-activity-graph-tooltip-title, .project-activity-graph-tooltip-value { +.project-activity-graph-tooltip-title, +.project-activity-graph-tooltip-value { font-weight: bold; } -.project-activity-days-list {} +.project-activity-days-list { +} .project-activity-day { margin-top: 8px; @@ -120,7 +122,8 @@ font-weight: bold; } -.project-activity-analyses-list {} +.project-activity-analyses-list { +} .project-activity-analysis { position: relative; @@ -238,7 +241,8 @@ background-color: white; } -.project-activity-version-badge.sticky, .project-activity-version-badge.first { +.project-activity-version-badge.sticky, +.project-activity-version-badge.first { position: absolute; top: 0; left: 12px; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/utils.js b/server/sonar-web/src/main/js/apps/projectActivity/utils.js index 83f5960b6e7..cdf5fa75eb7 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/utils.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/utils.js @@ -179,7 +179,7 @@ export const getDisplayedHistoryMetrics = ( ): Array<string> => (isCustomGraph(graph) ? customMetrics : GRAPHS_METRICS_DISPLAYED[graph]); export const getHistoryMetrics = (graph: string, customMetrics: Array<string>): Array<string> => - (isCustomGraph(graph) ? customMetrics : GRAPHS_METRICS[graph]); + isCustomGraph(graph) ? customMetrics : GRAPHS_METRICS[graph]; const parseGraph = (value?: string): string => { const graph = parseAsString(value); diff --git a/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js b/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js index 69f890b5caa..1531bb344dc 100644 --- a/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js +++ b/server/sonar-web/src/main/js/apps/projects-admin/AppContainer.js @@ -66,8 +66,8 @@ class AppContainer extends React.PureComponent { const mapStateToProps = (state, ownProps) => ({ appState: getAppState(state), - organization: ownProps.organization || - getOrganizationByKey(state, getAppState(state).defaultOrganization) + organization: + ownProps.organization || getOrganizationByKey(state, getAppState(state).defaultOrganization) }); const onVisibilityChange = (organization, visibility) => dispatch => { diff --git a/server/sonar-web/src/main/js/apps/projects-admin/ChangeVisibilityForm.js b/server/sonar-web/src/main/js/apps/projects-admin/ChangeVisibilityForm.js index fcb2d35b142..99f70766510 100644 --- a/server/sonar-web/src/main/js/apps/projects-admin/ChangeVisibilityForm.js +++ b/server/sonar-web/src/main/js/apps/projects-admin/ChangeVisibilityForm.js @@ -73,13 +73,14 @@ export default class ChangeVisibilityForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <header className="modal-head"> - <h2>{translate('organization.change_visibility_form.header')}</h2> + <h2> + {translate('organization.change_visibility_form.header')} + </h2> </header> <div className="modal-body"> - {['public', 'private'].map(visibility => ( + {['public', 'private'].map(visibility => <div className="big-spacer-bottom" key={visibility}> <p> {visibility === 'private' && !canUpdateProjectsVisibilityToPrivate @@ -107,7 +108,7 @@ export default class ChangeVisibilityForm extends React.PureComponent { {translate('visibility', visibility, 'description.short')} </p> </div> - ))} + )} {canUpdateProjectsVisibilityToPrivate ? <div className="alert alert-warning"> @@ -120,9 +121,10 @@ export default class ChangeVisibilityForm extends React.PureComponent { <button onClick={this.handleConfirmClick}> {translate('organization.change_visibility_form.submit')} </button> - <a href="#" onClick={this.handleCancelClick}>{translate('cancel')}</a> + <a href="#" onClick={this.handleCancelClick}> + {translate('cancel')} + </a> </footer> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/projects-admin/CreateProjectForm.js b/server/sonar-web/src/main/js/apps/projects-admin/CreateProjectForm.js index 0266656aa8d..adb2353292a 100644 --- a/server/sonar-web/src/main/js/apps/projects-admin/CreateProjectForm.js +++ b/server/sonar-web/src/main/js/apps/projects-admin/CreateProjectForm.js @@ -122,19 +122,19 @@ export default class CreateProjectForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - {createdProject ? <div> <header className="modal-head"> - <h2>{translate('qualifiers.create.TRK')}</h2> + <h2> + {translate('qualifiers.create.TRK')} + </h2> </header> <div className="modal-body"> <div className="alert alert-success"> - Project - {' '} - <Link to={getProjectUrl(createdProject.key)}>{createdProject.name}</Link> - {' '} + Project <Link to={getProjectUrl(createdProject.key)}> + {createdProject.name} + </Link>{' '} has been successfully created. </div> </div> @@ -147,7 +147,9 @@ export default class CreateProjectForm extends React.PureComponent { </div> : <form id="create-project-form" onSubmit={this.handleFormSubmit}> <header className="modal-head"> - <h2>{translate('qualifiers.create.TRK')}</h2> + <h2> + {translate('qualifiers.create.TRK')} + </h2> </header> <div className="modal-body"> @@ -196,7 +198,9 @@ export default class CreateProjectForm extends React.PureComponent { /> </div> <div className="modal-field"> - <label> {translate('visibility')} </label> + <label> + {' '}{translate('visibility')}{' '} + </label> <VisibilitySelector canTurnToPrivate={ organization == null || organization.canUpdateProjectsVisibilityToPrivate @@ -223,7 +227,6 @@ export default class CreateProjectForm extends React.PureComponent { </a> </footer> </form>} - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/projects-admin/header.js b/server/sonar-web/src/main/js/apps/projects-admin/header.js index f0b23d0ef61..8538e20cd73 100644 --- a/server/sonar-web/src/main/js/apps/projects-admin/header.js +++ b/server/sonar-web/src/main/js/apps/projects-admin/header.js @@ -57,14 +57,13 @@ export default class Header extends React.PureComponent { return ( <header className="page-header"> - <h1 className="page-title">{translate('projects_management')}</h1> + <h1 className="page-title"> + {translate('projects_management')} + </h1> <div className="page-actions"> <span className="big-spacer-right"> - {translate('organization.default_visibility_of_new_projects')} - {' '} - <strong> - {translate('visibility', organization.projectVisibility)} - </strong> + {translate('organization.default_visibility_of_new_projects')}{' '} + <strong>{translate('visibility', organization.projectVisibility)}</strong> <a className="spacer-left icon-edit" href="#" diff --git a/server/sonar-web/src/main/js/apps/projects-admin/projects.js b/server/sonar-web/src/main/js/apps/projects-admin/projects.js index cbf2aab4a72..847d2a5f702 100644 --- a/server/sonar-web/src/main/js/apps/projects-admin/projects.js +++ b/server/sonar-web/src/main/js/apps/projects-admin/projects.js @@ -74,13 +74,13 @@ export default class Projects extends React.PureComponent { <Link to={{ pathname: '/dashboard', query: { id: project.key } }} className="link-with-icon"> - <QualifierIcon qualifier={project.qualifier} /> - {' '} - <span>{project.name}</span> + <QualifierIcon qualifier={project.qualifier} /> <span>{project.name}</span> </Link> </td> <td className="nowrap"> - <span className="note">{project.key}</span> + <span className="note"> + {project.key} + </span> </td> <td className="width-20"> {project.visibility === 'private' && <PrivateBadge />} @@ -88,9 +88,7 @@ export default class Projects extends React.PureComponent { <td className="thin nowrap"> <div className="dropdown"> <button className="dropdown-toggle" data-toggle="dropdown"> - {translate('actions')} - {' '} - <i className="icon-dropdown" /> + {translate('actions')} <i className="icon-dropdown" /> </button> <ul className="dropdown-menu dropdown-menu-right"> <li> @@ -115,7 +113,9 @@ export default class Projects extends React.PureComponent { return ( <table className={className} id="projects-management-page-projects"> - <tbody>{this.props.projects.map(this.renderProject)}</tbody> + <tbody> + {this.props.projects.map(this.renderProject)} + </tbody> </table> ); } diff --git a/server/sonar-web/src/main/js/apps/projects-admin/views/BulkApplyTemplateView.js b/server/sonar-web/src/main/js/apps/projects-admin/views/BulkApplyTemplateView.js index 9769576cc53..ee11a8d1eda 100644 --- a/server/sonar-web/src/main/js/apps/projects-admin/views/BulkApplyTemplateView.js +++ b/server/sonar-web/src/main/js/apps/projects-admin/views/BulkApplyTemplateView.js @@ -90,9 +90,10 @@ export default ModalForm.extend({ const applyTo = this.$('[name="apply-to"]:checked').val(); this.disableForm(); - const request = applyTo === 'all' - ? this.bulkApplyToAll(permissionTemplate) - : this.bulkApplyToSelected(permissionTemplate); + const request = + applyTo === 'all' + ? this.bulkApplyToAll(permissionTemplate) + : this.bulkApplyToSelected(permissionTemplate); request .then(() => { diff --git a/server/sonar-web/src/main/js/apps/projects/components/AllProjects.js b/server/sonar-web/src/main/js/apps/projects/components/AllProjects.js index cc8ebb4af9a..37472169965 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/AllProjects.js +++ b/server/sonar-web/src/main/js/apps/projects/components/AllProjects.js @@ -144,7 +144,7 @@ export default class AllProjects extends React.PureComponent { }); }; - renderSide = () => ( + renderSide = () => <div className="layout-page-side-outer"> <div className="layout-page-side projects-page-side" @@ -161,10 +161,9 @@ export default class AllProjects extends React.PureComponent { </div> </div> </div> - </div> - ); + </div>; - renderHeader = () => ( + renderHeader = () => <div className="layout-page-header-panel layout-page-main-header"> <div className="layout-page-header-panel-inner layout-page-main-header-inner"> <div className="layout-page-main-inner"> @@ -181,11 +180,10 @@ export default class AllProjects extends React.PureComponent { /> </div> </div> - </div> - ); + </div>; renderMain = () => - (this.getView() === 'visualizations' + this.getView() === 'visualizations' ? <div className="layout-page-main-inner"> <VisualizationsContainer sort={this.state.query.sort} @@ -204,7 +202,7 @@ export default class AllProjects extends React.PureComponent { isFavorite={this.props.isFavorite} organization={this.props.organization} /> - </div>); + </div>; render() { return ( diff --git a/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.js b/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.js index 1eb2241cfb1..00d1edf2c22 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.js +++ b/server/sonar-web/src/main/js/apps/projects/components/EmptyInstance.js @@ -23,7 +23,9 @@ import { translate } from '../../../helpers/l10n'; export default function EmptyInstance() { return ( <div className="projects-empty-list"> - <h3>{translate('projects.no_projects.empty_instance')}</h3> + <h3> + {translate('projects.no_projects.empty_instance')} + </h3> </div> ); } diff --git a/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.js b/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.js index f69fbebc834..86c62bd2a03 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.js +++ b/server/sonar-web/src/main/js/apps/projects/components/NoFavoriteProjects.js @@ -24,8 +24,12 @@ import { translate } from '../../../helpers/l10n'; export default function NoFavoriteProjects() { return ( <div className="projects-empty-list"> - <h3>{translate('projects.no_favorite_projects')}</h3> - <p className="big-spacer-top">{translate('projects.no_favorite_projects.engagement')}</p> + <h3> + {translate('projects.no_favorite_projects')} + </h3> + <p className="big-spacer-top"> + {translate('projects.no_favorite_projects.engagement')} + </p> <p className="big-spacer-top"> <Link to="/projects/all" className="button"> {translate('projects.explore_projects')} diff --git a/server/sonar-web/src/main/js/apps/projects/components/PageHeader.js b/server/sonar-web/src/main/js/apps/projects/components/PageHeader.js index 356690901e6..588920ead76 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/PageHeader.js +++ b/server/sonar-web/src/main/js/apps/projects/components/PageHeader.js @@ -101,8 +101,7 @@ export default function PageHeader(props: Props) { {props.projectsAppState.total != null && <span> - <strong id="projects-total">{props.projectsAppState.total}</strong> - {' '} + <strong id="projects-total">{props.projectsAppState.total}</strong>{' '} {translate('projects._projects')} </span>} </div> diff --git a/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.js b/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.js index 65fa894d22c..ab9dcd4326a 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.js +++ b/server/sonar-web/src/main/js/apps/projects/components/PageSidebar.js @@ -83,7 +83,9 @@ export default function PageSidebar({ </Link> </div>} - <h3>{translate('filters')}</h3> + <h3> + {translate('filters')} + </h3> </div> <QualityGateFilter {...facetProps} /> {!isLeakView && [ diff --git a/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.js b/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.js index 8f6f5f41c0d..6dff8ffa6de 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.js +++ b/server/sonar-web/src/main/js/apps/projects/components/PerspectiveSelect.js @@ -66,7 +66,9 @@ export default class PerspectiveSelect extends React.PureComponent { const perspective = view === 'visualizations' ? visualization : view; return ( <div className={this.props.className}> - <label>{translate('projects.perspective')}:</label> + <label> + {translate('projects.perspective')}: + </label> <Select className="little-spacer-left input-medium" clearable={false} diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js index 3e19ee801ce..a79b33def4c 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLanguages.js @@ -46,7 +46,12 @@ class ProjectCardLanguages extends React.PureComponent { const tooltip = ( <span> - {finalLanguages.map(language => <span key={language}>{language}<br /></span>)} + {finalLanguages.map(language => + <span key={language}> + {language} + <br /> + </span> + )} </span> ); @@ -56,7 +61,9 @@ class ProjectCardLanguages extends React.PureComponent { return ( <div className="project-card-languages"> <Tooltip placement="bottom" overlay={tooltip}> - <span>{languagesText}</span> + <span> + {languagesText} + </span> </Tooltip> </div> ); diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.js index ac47c003b7a..6de5f6a687f 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.js +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardLeak.js @@ -75,7 +75,9 @@ export default function ProjectCardLeak({ measures, organization, project }: Pro <span className="text-normal"> <Organization organizationKey={project.organization} /> </span>} - <Link to={{ pathname: '/dashboard', query: { id: project.key } }}>{project.name}</Link> + <Link to={{ pathname: '/dashboard', query: { id: project.key } }}> + {project.name} + </Link> </h2> {displayQualityGate && <ProjectCardQualityGate status={measures['alert_status']} />} <div className="pull-right text-right"> diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.js index 72bbccbd7ae..49c9d27fcc8 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.js +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectCardOverall.js @@ -74,7 +74,9 @@ export default function ProjectCardOverall({ measures, organization, project }: <span className="text-normal"> <Organization organizationKey={project.organization} /> </span>} - <Link to={{ pathname: '/dashboard', query: { id: project.key } }}>{project.name}</Link> + <Link to={{ pathname: '/dashboard', query: { id: project.key } }}> + {project.name} + </Link> </h2> {displayQualityGate && <ProjectCardQualityGate status={measures['alert_status']} />} <div className="pull-right text-right"> diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectsList.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectsList.js index e9eea0c0a88..1b2f615bced 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectsList.js +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectsList.js @@ -55,14 +55,14 @@ export default class ProjectsList extends React.PureComponent { return ( <div className="projects-list"> {projects.length > 0 - ? projects.map(projectKey => ( + ? projects.map(projectKey => <ProjectCardContainer key={projectKey} projectKey={projectKey} organization={this.props.organization} type={this.props.cardType} /> - )) + ) : this.renderNoProjects()} </div> ); diff --git a/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.js b/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.js index 2d97d5cad68..fa9fb3b7f00 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.js +++ b/server/sonar-web/src/main/js/apps/projects/components/ProjectsSortingSelect.js @@ -83,7 +83,9 @@ export default class ProjectsSortingSelect extends React.PureComponent { return ( <div className={this.props.className}> - <label>{translate('projects.sort_by')}:</label> + <label> + {translate('projects.sort_by')}: + </label> <Select className="little-spacer-left input-medium" clearable={false} diff --git a/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.js b/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.js index 2440b2e7541..277c59a4e1d 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.js +++ b/server/sonar-web/src/main/js/apps/projects/filters/CoverageFilter.js @@ -54,7 +54,9 @@ export default class CoverageFilter extends React.PureComponent { <span className="spacer-left"> {option < 6 ? getCoverageRatingLabel(option) - : <span className="big-spacer-left">{translate('no_data')}</span>} + : <span className="big-spacer-left"> + {translate('no_data')} + </span>} </span> </span> ); diff --git a/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.js b/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.js index 371da910a82..5b9f30484c0 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.js +++ b/server/sonar-web/src/main/js/apps/projects/filters/DuplicationsFilter.js @@ -57,7 +57,9 @@ export default class DuplicationsFilter extends React.PureComponent { <span className="spacer-left"> {option < 6 ? getDuplicationsRatingLabel(option) - : <span className="big-spacer-left">{translate('no_data')}</span>} + : <span className="big-spacer-left"> + {translate('no_data')} + </span>} </span> </span> ); diff --git a/server/sonar-web/src/main/js/apps/projects/filters/Filter.js b/server/sonar-web/src/main/js/apps/projects/filters/Filter.js index bdc9fc66948..876eb1e7abf 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/Filter.js +++ b/server/sonar-web/src/main/js/apps/projects/filters/Filter.js @@ -113,9 +113,8 @@ export default class Filter extends React.PureComponent { ); const path = this.getPath(option); - const facetValue = facet && getFacetValueForOption - ? getFacetValueForOption(facet, option) - : null; + const facetValue = + facet && getFacetValueForOption ? getFacetValueForOption(facet, option) : null; const isUnderSelectedOption = this.highlightUnder(value) && option > value; diff --git a/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.js b/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.js index 52e52bc92a2..69d68a033ff 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.js +++ b/server/sonar-web/src/main/js/apps/projects/filters/IssuesFilter.js @@ -44,7 +44,9 @@ export default class IssuesFilter extends React.PureComponent { <Rating value={option} small={true} muted={!selected} /> {option > 1 && option < 5 && - <span className="note spacer-left">{translate('and_worse')}</span>} + <span className="note spacer-left"> + {translate('and_worse')} + </span>} </span> ); } diff --git a/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.js b/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.js index d610b721939..6548c9441e0 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.js +++ b/server/sonar-web/src/main/js/apps/projects/filters/LanguagesFilter.js @@ -60,12 +60,11 @@ export default class LanguagesFilter extends React.PureComponent { getFacetValueForOption = (facet: {} = {}, option: string) => facet[option]; - renderOption = (option: string) => ( + renderOption = (option: string) => <SearchableFilterOption optionKey={option} option={getLanguageByKey(this.props.languages, option)} - /> - ); + />; render() { return ( diff --git a/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.js b/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.js index 0dbb948a577..9e42ab27e69 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.js +++ b/server/sonar-web/src/main/js/apps/projects/filters/NewReliabilityFilter.js @@ -29,7 +29,10 @@ export default function NewReliabilityFilter(props) { className="leak-facet-box" headerDetail={ <span className="note little-spacer-left"> - {'('}<BugIcon className="little-spacer-right" />{translate('metric.bugs.name')}{' )'} + {'('} + <BugIcon className="little-spacer-right" /> + {translate('metric.bugs.name')} + {' )'} </span> } name="Reliability" diff --git a/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.js b/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.js index ef176a9e45e..ed8877f6df5 100644 --- a/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.js +++ b/server/sonar-web/src/main/js/apps/projects/filters/SearchableFilterOption.js @@ -28,6 +28,10 @@ export default class SearchableFilterOption extends React.PureComponent { render() { const optionName = this.props.option ? this.props.option.name : this.props.optionKey; - return <span>{this.props.optionKey !== '<null>' ? optionName : translate('unknown')}</span>; + return ( + <span> + {this.props.optionKey !== '<null>' ? optionName : translate('unknown')} + </span> + ); } } diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/RatingsLegend.js b/server/sonar-web/src/main/js/apps/projects/visualizations/RatingsLegend.js index 246ce40c685..b22d9729157 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/RatingsLegend.js +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/RatingsLegend.js @@ -25,7 +25,7 @@ import { RATING_COLORS } from '../../../helpers/constants'; export default function RatingsLegend() { return ( <div className="projects-visualizations-ratings"> - {[1, 2, 3, 4, 5].map(rating => ( + {[1, 2, 3, 4, 5].map(rating => <div key={rating}> <span className="projects-visualizations-ratings-rect" @@ -37,7 +37,7 @@ export default function RatingsLegend() { </span> {formatMeasure(rating, 'RATING')} </div> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.js b/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.js index 5a4f0cac15d..fc881790b54 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.js +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Risk.js @@ -63,9 +63,10 @@ export default class Risk extends React.PureComponent { color1: ?number, color2: ?number ) { - const fullProjectName = this.props.displayOrganizations && project.organization - ? `${project.organization.name} / <strong>${project.name}</strong>` - : `<strong>${project.name}</strong>`; + const fullProjectName = + this.props.displayOrganizations && project.organization + ? `${project.organization.name} / <strong>${project.name}</strong>` + : `<strong>${project.name}</strong>`; const inner = [ `<div class="little-spacer-bottom">${fullProjectName}</div>`, this.getMetricTooltip({ key: COLOR_METRIC_1, type: COLOR_METRIC_TYPE }, color1), @@ -81,22 +82,20 @@ export default class Risk extends React.PureComponent { const items = this.props.projects.map(project => { const x = project.measures[X_METRIC] != null ? Number(project.measures[X_METRIC]) : null; const y = project.measures[Y_METRIC] != null ? Number(project.measures[Y_METRIC]) : null; - const size = project.measures[SIZE_METRIC] != null - ? Number(project.measures[SIZE_METRIC]) - : null; - const color1 = project.measures[COLOR_METRIC_1] != null - ? Number(project.measures[COLOR_METRIC_1]) - : null; - const color2 = project.measures[COLOR_METRIC_2] != null - ? Number(project.measures[COLOR_METRIC_2]) - : null; + const size = + project.measures[SIZE_METRIC] != null ? Number(project.measures[SIZE_METRIC]) : null; + const color1 = + project.measures[COLOR_METRIC_1] != null ? Number(project.measures[COLOR_METRIC_1]) : null; + const color2 = + project.measures[COLOR_METRIC_2] != null ? Number(project.measures[COLOR_METRIC_2]) : null; return { x: x || 0, y: y || 0, size: size || 0, - color: color1 != null && color2 != null - ? RATING_COLORS[Math.max(color1, color2) - 1] - : undefined, + color: + color1 != null && color2 != null + ? RATING_COLORS[Math.max(color1, color2) - 1] + : undefined, key: project.key, tooltip: this.getTooltip(project, x, y, size, color1, color2), link: getProjectUrl(project.key) diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.js b/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.js index abf13ea589c..ede73dbf87b 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.js +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/SimpleBubbleChart.js @@ -53,9 +53,10 @@ export default class SimpleBubbleChart extends React.PureComponent { } getTooltip(project: Project, x: ?number, y: ?number, size: ?number, color?: number) { - const fullProjectName = this.props.displayOrganizations && project.organization - ? `${project.organization.name} / <strong>${project.name}</strong>` - : `<strong>${project.name}</strong>`; + const fullProjectName = + this.props.displayOrganizations && project.organization + ? `${project.organization.name} / <strong>${project.name}</strong>` + : `<strong>${project.name}</strong>`; const inner = [ `<div class="little-spacer-bottom">${fullProjectName}</div>`, @@ -78,15 +79,14 @@ export default class SimpleBubbleChart extends React.PureComponent { const items = this.props.projects .filter(project => colorMetric == null || project.measures[colorMetric] !== null) .map(project => { - const x = project.measures[xMetric.key] != null - ? Number(project.measures[xMetric.key]) - : null; - const y = project.measures[yMetric.key] != null - ? Number(project.measures[yMetric.key]) - : null; - const size = project.measures[sizeMetric.key] != null - ? Number(project.measures[sizeMetric.key]) - : null; + const x = + project.measures[xMetric.key] != null ? Number(project.measures[xMetric.key]) : null; + const y = + project.measures[yMetric.key] != null ? Number(project.measures[yMetric.key]) : null; + const size = + project.measures[sizeMetric.key] != null + ? Number(project.measures[sizeMetric.key]) + : null; const color = colorMetric ? Number(project.measures[colorMetric]) : undefined; return { x: x || 0, diff --git a/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.js b/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.js index cc7627f740f..ee32e11c30f 100644 --- a/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.js +++ b/server/sonar-web/src/main/js/apps/projects/visualizations/Visualizations.js @@ -60,7 +60,9 @@ export default class Visualizations extends React.PureComponent { return ( <footer className="projects-visualizations-footer"> - <p>{translate('projects.visualization', this.props.visualization, 'description')}</p> + <p> + {translate('projects.visualization', this.props.visualization, 'description')} + </p> {limitReached && <p className="note spacer-top"> {translateWithParameters( diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js index 42788371e7f..ce2ff884636 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js @@ -196,7 +196,11 @@ export default class Condition extends Component { } if (metric.type === 'RATING') { - return <span className="note">{translate('quality_gates.operator.GT.rating')}</span>; + return ( + <span className="note"> + {translate('quality_gates.operator.GT.rating')} + </span> + ); } const operators = ['LT', 'GT', 'EQ', 'NE']; @@ -289,7 +293,6 @@ export default class Condition extends Component { </a> </div>} </td>} - </tr> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.js b/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.js index cfd353cc655..b9e07816788 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Conditions.js @@ -100,11 +100,15 @@ export default class Conditions extends React.PureComponent { {uniqDuplicates.length > 0 && <div className="alert alert-warning"> - <p>{translate('quality_gates.duplicated_conditions')}</p> + <p> + {translate('quality_gates.duplicated_conditions')} + </p> <ul className="list-styled spacer-top"> - {uniqDuplicates.map(d => ( - <li key={d.metric.key}>{getLocalizedMetricName(d.metric)}</li> - ))} + {uniqDuplicates.map(d => + <li key={d.metric.key}> + {getLocalizedMetricName(d.metric)} + </li> + )} </ul> </div>} @@ -131,7 +135,7 @@ export default class Conditions extends React.PureComponent { </tr> </thead> <tbody> - {sortedConditions.map((condition, index) => ( + {sortedConditions.map((condition, index) => <Condition key={getKey(condition, index)} qualityGate={qualityGate} @@ -143,7 +147,7 @@ export default class Conditions extends React.PureComponent { onError={this.handleError.bind(this)} onResetError={this.handleResetError.bind(this)} /> - ))} + )} </tbody> </table> : <div className="big-spacer-top"> diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionsAlert.js b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionsAlert.js index a7d754f2028..334b4d2a397 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionsAlert.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionsAlert.js @@ -45,19 +45,13 @@ export default class ConditionsAlert extends Component { {translate('quality_gates.health_icons')} <ul> <li className="little-spacer-top"> - <i className="icon-alert-ok" /> - {' '} - {translate('alerts.notes.ok')} + <i className="icon-alert-ok" /> {translate('alerts.notes.ok')} </li> <li className="little-spacer-top"> - <i className="icon-alert-warn" /> - {' '} - {translate('alerts.notes.warn')} + <i className="icon-alert-warn" /> {translate('alerts.notes.warn')} </li> <li className="little-spacer-top"> - <i className="icon-alert-error" /> - {' '} - {translate('alerts.notes.error')} + <i className="icon-alert-error" /> {translate('alerts.notes.error')} </li> </ul> </div>} diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.js b/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.js index 55cf486fbbd..e7252e1d9be 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/DetailsHeader.js @@ -50,7 +50,9 @@ export default function DetailsHeader({ return ( <div className="search-navigator-workspace-header" style={{ top: 30 }}> - <h2 className="search-navigator-header-component">{qualityGate.name}</h2> + <h2 className="search-navigator-header-component"> + {qualityGate.name} + </h2> {edit && <div className="search-navigator-header-actions"> <div className="button-group"> diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Intro.js b/server/sonar-web/src/main/js/apps/quality-gates/components/Intro.js index e1c4c262097..e7ccb6c49f3 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Intro.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Intro.js @@ -24,8 +24,12 @@ export default function Intro() { return ( <div className="search-navigator-workspace"> <div className="search-navigator-intro markdown"> - <p>{translate('quality_gates.intro.1')}</p> - <p>{translate('quality_gates.intro.2')}</p> + <p> + {translate('quality_gates.intro.1')} + </p> + <p> + {translate('quality_gates.intro.2')} + </p> </div> </div> ); diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/List.js b/server/sonar-web/src/main/js/apps/quality-gates/components/List.js index 51f4f6b4c7b..9729392a1b8 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/List.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/List.js @@ -24,7 +24,7 @@ import { translate } from '../../../helpers/l10n'; export default function List({ qualityGates }) { return ( <div className="list-group"> - {qualityGates.map(qualityGate => ( + {qualityGates.map(qualityGate => <Link key={qualityGate.id} to={`/quality_gates/show/${qualityGate.id}`} @@ -39,13 +39,15 @@ export default function List({ qualityGates }) { </td> <td className="text-top thin nowrap spacer-left"> {qualityGate.isDefault && - <span className="badge pull-right">{translate('default')}</span>} + <span className="badge pull-right"> + {translate('default')} + </span>} </td> </tr> </tbody> </table> </Link> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.js b/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.js index 2c48ed591a3..e7717e0a40f 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.js +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/ListHeader.js @@ -29,7 +29,9 @@ export default function ListHeader({ canEdit, onAdd }) { return ( <div> - <h1 className="page-title">{translate('quality_gates.page')}</h1> + <h1 className="page-title"> + {translate('quality_gates.page')} + </h1> {canEdit && <div className="page-actions"> <div className="button-group"> diff --git a/server/sonar-web/src/main/js/apps/quality-gates/styles.css b/server/sonar-web/src/main/js/apps/quality-gates/styles.css index f9a40f07de4..76653cb7171 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/styles.css +++ b/server/sonar-web/src/main/js/apps/quality-gates/styles.css @@ -5,4 +5,4 @@ .quality-gate-section + .quality-gate-section { margin-top: 10px; padding-top: 20px; -}
\ No newline at end of file +} diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.js b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.js index 87b52056f88..01ae2464b8e 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.js @@ -67,7 +67,9 @@ export default class Changelog extends React.PureComponent { <td className="thin nowrap"> {!isBulkChange && (event.authorName - ? <span>{event.authorName}</span> + ? <span> + {event.authorName} + </span> : <span className="note">System</span>)} </td> @@ -93,17 +95,25 @@ export default class Changelog extends React.PureComponent { <thead> <tr> <th className="thin nowrap"> - {translate('date')} - {' '} - <i className="icon-sort-desc" /> + {translate('date')} <i className="icon-sort-desc" /> + </th> + <th className="thin nowrap"> + {translate('user')} + </th> + <th className="thin nowrap"> + {translate('action')} + </th> + <th> + {translate('rule')} + </th> + <th className="thin nowrap"> + {translate('parameters')} </th> - <th className="thin nowrap">{translate('user')}</th> - <th className="thin nowrap">{translate('action')}</th> - <th>{translate('rule')}</th> - <th className="thin nowrap">{translate('parameters')}</th> </tr> </thead> - <tbody>{rows}</tbody> + <tbody> + {rows} + </tbody> </table> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangesList.js b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangesList.js index 6377b4f3799..f905a86df53 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangesList.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/ChangesList.js @@ -34,13 +34,13 @@ export default class ChangesList extends React.PureComponent { return ( <ul> - {Object.keys(changes).map(key => ( + {Object.keys(changes).map(key => <li key={key}> {key === 'severity' ? <SeverityChange severity={changes[key]} /> : <ParameterChange name={key} value={changes[key]} />} </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.js b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.js index d6f03008f15..d1ead07091a 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.js @@ -32,8 +32,7 @@ export default class SeverityChange extends React.PureComponent { render() { return ( <div> - {translate('quality_profiles.severity_set_to')} - {' '} + {translate('quality_profiles.severity_set_to')}{' '} <SeverityHelper severity={this.props.severity} /> </div> ); diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.js b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.js index 0e5e292b694..208346cc636 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/compare/ComparisonResults.js @@ -42,11 +42,8 @@ export default class ComparisonResults extends React.PureComponent { renderRule(rule: { key: string, name: string }, severity: string) { return ( <div> - <SeverityIcon severity={severity} /> - {' '} - <Link to={getRulesUrl({ rule_key: rule.key }, this.props.organization)}> - {rule.name} - </Link> + <SeverityIcon severity={severity} />{' '} + <Link to={getRulesUrl({ rule_key: rule.key }, this.props.organization)}>{rule.name}</Link> </div> ); } @@ -57,11 +54,15 @@ export default class ComparisonResults extends React.PureComponent { } return ( <ul> - {Object.keys(params).map(key => ( + {Object.keys(params).map(key => <li key={key} className="spacer-top"> - <code>{key}{': '}{params[key]}</code> + <code> + {key} + {': '} + {params[key]} + </code> </li> - ))} + )} </ul> ); } @@ -74,20 +75,24 @@ export default class ComparisonResults extends React.PureComponent { <tr key="left-header"> <td> <h6> - {translateWithParameters('quality_profiles.x_rules_only_in', this.props.inLeft.length)} - {' '} + {translateWithParameters( + 'quality_profiles.x_rules_only_in', + this.props.inLeft.length + )}{' '} {this.props.left.name} </h6> </td> <td> </td> </tr> ); - const rows = this.props.inLeft.map(rule => ( + const rows = this.props.inLeft.map(rule => <tr key={`left-${rule.key}`} className="js-comparison-in-left"> - <td>{this.renderRule(rule, rule.severity)}</td> + <td> + {this.renderRule(rule, rule.severity)} + </td> <td> </td> </tr> - )); + ); return [header, ...rows]; } @@ -100,19 +105,23 @@ export default class ComparisonResults extends React.PureComponent { <td> </td> <td> <h6> - {translateWithParameters('quality_profiles.x_rules_only_in', this.props.inRight.length)} - {' '} + {translateWithParameters( + 'quality_profiles.x_rules_only_in', + this.props.inRight.length + )}{' '} {this.props.right.name} </h6> </td> </tr> ); - const rows = this.props.inRight.map(rule => ( + const rows = this.props.inRight.map(rule => <tr key={`right-${rule.key}`} className="js-comparison-in-right"> <td> </td> - <td>{this.renderRule(rule, rule.severity)}</td> + <td> + {this.renderRule(rule, rule.severity)} + </td> </tr> - )); + ); return [header, ...rows]; } @@ -134,11 +143,19 @@ export default class ComparisonResults extends React.PureComponent { ); const secondHeader = ( <tr key="modified-second-header"> - <td><h6>{this.props.left.name}</h6></td> - <td><h6>{this.props.right.name}</h6></td> + <td> + <h6> + {this.props.left.name} + </h6> + </td> + <td> + <h6> + {this.props.right.name} + </h6> + </td> </tr> ); - const rows = this.props.modified.map(rule => ( + const rows = this.props.modified.map(rule => <tr key={`modified-${rule.key}`} className="js-comparison-modified"> <td> {this.renderRule(rule, rule.left.severity)} @@ -149,7 +166,7 @@ export default class ComparisonResults extends React.PureComponent { {this.renderParameters(rule.right.params)} </td> </tr> - )); + ); return [header, secondHeader, ...rows]; } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInBadge.js b/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInBadge.js index 1703b88767f..8df1be7a80d 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInBadge.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/BuiltInBadge.js @@ -37,13 +37,16 @@ export default function BuiltInBadge(props: Props) { const overlay = ( <span> - {translate('quality_profiles.built_in.description.1')} - {' '} + {translate('quality_profiles.built_in.description.1')}{' '} {translate('quality_profiles.built_in.description.2')} </span> ); - return props.tooltip ? <Tooltip overlay={overlay}>{badge}</Tooltip> : badge; + return props.tooltip + ? <Tooltip overlay={overlay}> + {badge} + </Tooltip> + : badge; } BuiltInBadge.defaultProps = { diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.js b/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.js index 3ced39bc3e3..ca7cf6363e3 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/CopyProfileForm.js @@ -94,15 +94,17 @@ export default class CopyProfileForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <form id="copy-profile-form" onSubmit={this.handleFormSubmit}> <div className="modal-head"> - <h2>{header}</h2> + <h2> + {header} + </h2> </div> <div className="modal-body"> <div className="modal-field"> <label htmlFor="copy-profile-name"> - {translate('quality_profiles.copy_new_name')}<em className="mandatory">*</em> + {translate('quality_profiles.copy_new_name')} + <em className="mandatory">*</em> </label> <input autoFocus={true} @@ -127,7 +129,6 @@ export default class CopyProfileForm extends React.PureComponent { </a> </div> </form> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.js b/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.js index 03ca6da00cd..d83588a3baa 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/DeleteProfileForm.js @@ -75,10 +75,11 @@ export default class DeleteProfileForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <form id="delete-profile-form" onSubmit={this.handleFormSubmit}> <div className="modal-head"> - <h2>{header}</h2> + <h2> + {header} + </h2> </div> <div className="modal-body"> <div className="js-modal-messages" /> @@ -113,7 +114,6 @@ export default class DeleteProfileForm extends React.PureComponent { </a> </div> </form> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.js b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.js index 7077dd39aaf..67d3ad79a87 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.js @@ -33,7 +33,11 @@ export default class ProfileDate extends React.PureComponent { const { date } = this.props; if (!date) { - return <span>{translate('never')}</span>; + return ( + <span> + {translate('never')} + </span> + ); } return ( diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.js b/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.js index 9a2af870205..a75ba8197ec 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/components/RenameProfileForm.js @@ -94,15 +94,17 @@ export default class RenameProfileForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <form id="rename-profile-form" onSubmit={this.handleFormSubmit}> <div className="modal-head"> - <h2>{header}</h2> + <h2> + {header} + </h2> </div> <div className="modal-body"> <div className="modal-field"> <label htmlFor="rename-profile-name"> - {translate('quality_profiles.new_name')}<em className="mandatory">*</em> + {translate('quality_profiles.new_name')} + <em className="mandatory">*</em> </label> <input autoFocus={true} @@ -127,7 +129,6 @@ export default class RenameProfileForm extends React.PureComponent { </a> </div> </form> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.js b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.js index ddf97081803..a14e64384b8 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeParentForm.js @@ -105,10 +105,11 @@ export default class ChangeParentForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <form id="change-profile-parent-form" onSubmit={this.handleFormSubmit}> <div className="modal-head"> - <h2>{translate('quality_profiles.change_parent')}</h2> + <h2> + {translate('quality_profiles.change_parent')} + </h2> </div> <div className="modal-body"> <div className="modal-field"> @@ -139,7 +140,6 @@ export default class ChangeParentForm extends React.PureComponent { </a> </div> </form> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.js b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.js index 6f46189d3e3..45e2d1fcae2 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.js @@ -84,9 +84,10 @@ export default class ChangeProjectsForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <div className="modal-head"> - <h2>{header}</h2> + <h2> + {header} + </h2> </div> <div className="modal-body"> @@ -94,9 +95,10 @@ export default class ChangeProjectsForm extends React.PureComponent { </div> <div className="modal-foot"> - <a href="#" onClick={this.handleCloseClick}>{translate('close')}</a> + <a href="#" onClick={this.handleCloseClick}> + {translate('close')} + </a> </div> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.js b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.js index be6702dd7ed..2d387eff92c 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileExporters.js @@ -58,16 +58,18 @@ export default class ProfileExporters extends React.PureComponent { return ( <div className="quality-profile-box quality-profile-exporters"> <header className="big-spacer-bottom"> - <h2>{translate('quality_profiles.exporters')}</h2> + <h2> + {translate('quality_profiles.exporters')} + </h2> </header> <ul> - {exportersForLanguage.map(exporter => ( + {exportersForLanguage.map(exporter => <li key={exporter.key} data-key={exporter.key} className="spacer-top"> <a href={this.getExportUrl(exporter)} target="_blank"> {exporter.name} </a> </li> - ))} + )} </ul> </div> ); diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.js b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.js index 2073ecb7c2a..3f802ef13ee 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileHeader.js @@ -48,9 +48,7 @@ export default class ProfileHeader extends React.PureComponent { const { profile } = this.props; let inner = ( <span> - {translate('quality_profiles.updated_')} - {' '} - <ProfileDate date={profile.userUpdatedAt} /> + {translate('quality_profiles.updated_')} <ProfileDate date={profile.userUpdatedAt} /> </span> ); if (isStagnant(profile)) { @@ -71,9 +69,7 @@ export default class ProfileHeader extends React.PureComponent { const { profile } = this.props; let inner = ( <span> - {translate('quality_profiles.used_')} - {' '} - <ProfileDate date={profile.lastUsed} /> + {translate('quality_profiles.used_')} <ProfileDate date={profile.lastUsed} /> </span> ); if (!profile.lastUsed) { @@ -114,7 +110,9 @@ export default class ProfileHeader extends React.PureComponent { language={profile.language} name={profile.name} organization={organization}> - <span>{profile.name}</span> + <span> + {profile.name} + </span> </ProfileLink> {profile.isBuiltIn && <BuiltInBadge className="spacer-left" tooltip={false} />} </h1> @@ -133,9 +131,7 @@ export default class ProfileHeader extends React.PureComponent { <li> <div className="pull-left dropdown"> <button className="dropdown-toggle" data-toggle="dropdown"> - {translate('actions')} - {' '} - <i className="icon-dropdown" /> + {translate('actions')} <i className="icon-dropdown" /> </button> <ProfileActions canAdmin={this.props.canAdmin} diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.js b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.js index 591466fa0f6..d94b46b7680 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileInheritance.js @@ -136,7 +136,7 @@ export default class ProfileInheritance extends React.PureComponent { <table className="data zebra"> <tbody> {ancestors != null && - ancestors.map((ancestor, index) => ( + ancestors.map((ancestor, index) => <ProfileInheritanceBox className="js-inheritance-ancestor" depth={index} @@ -145,7 +145,7 @@ export default class ProfileInheritance extends React.PureComponent { organization={this.props.organization} profile={ancestor} /> - ))} + )} <ProfileInheritanceBox className={currentClassName} @@ -158,7 +158,7 @@ export default class ProfileInheritance extends React.PureComponent { /> {this.state.children != null && - this.state.children.map(child => ( + this.state.children.map(child => <ProfileInheritanceBox className="js-inheritance-child" depth={ancestors ? ancestors.length + 1 : 0} @@ -167,7 +167,7 @@ export default class ProfileInheritance extends React.PureComponent { organization={this.props.organization} profile={child} /> - ))} + )} </tbody> </table>} diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.js b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.js index e3b08402dd6..0c59dec26be 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileProjects.js @@ -119,17 +119,15 @@ export default class ProfileProjects extends React.PureComponent { return ( <ul> - {projects.map(project => ( + {projects.map(project => <li key={project.uuid} className="spacer-top js-profile-project" data-key={project.key}> <Link to={{ pathname: '/dashboard', query: { id: project.key } }} className="link-with-icon"> - <QualifierIcon qualifier="TRK" /> - {' '} - <span>{project.name}</span> + <QualifierIcon qualifier="TRK" /> <span>{project.name}</span> </Link> </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.js b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.js index 51bc22ee082..fe68a8385d8 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/details/ProfileRules.js @@ -150,10 +150,16 @@ export default class ProfileRules extends React.PureComponent { <thead> <tr> <th> - <h2>{translate('rules')}</h2> + <h2> + {translate('rules')} + </h2> + </th> + <th> + {translate('active')} + </th> + <th> + {translate('inactive')} </th> - <th>{translate('active')}</th> - <th>{translate('inactive')}</th> </tr> </thead> <tbody> @@ -164,7 +170,7 @@ export default class ProfileRules extends React.PureComponent { qprofile={profile.key} total={this.state.total} /> - {TYPES.map(type => ( + {TYPES.map(type => <ProfileRulesRowOfType key={type} count={this.getRulesCountForType(type)} @@ -173,7 +179,7 @@ export default class ProfileRules extends React.PureComponent { total={this.getRulesTotalForType(type)} type={type} /> - ))} + )} </tbody> </table> diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.js index 4219dbd37f6..895fc4ca6c4 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.js @@ -114,22 +114,25 @@ export default class CreateProfileForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <form id="create-profile-form" onSubmit={this.handleFormSubmit} ref={node => (this.form = node)}> - <div className="modal-head"> - <h2>{header}</h2> + <h2> + {header} + </h2> </div> {this.state.preloading - ? <div className="modal-body"><i className="spinner" /></div> + ? <div className="modal-body"> + <i className="spinner" /> + </div> : <div className="modal-body"> <div className="modal-field"> <label htmlFor="create-profile-name"> - {translate('name')}<em className="mandatory">*</em> + {translate('name')} + <em className="mandatory">*</em> </label> <input autoFocus={true} @@ -145,7 +148,8 @@ export default class CreateProfileForm extends React.PureComponent { </div> <div className="modal-field spacer-bottom"> <label htmlFor="create-profile-language"> - {translate('language')}<em className="mandatory">*</em> + {translate('language')} + <em className="mandatory">*</em> </label> <Select clearable={false} @@ -159,7 +163,7 @@ export default class CreateProfileForm extends React.PureComponent { value={selectedLanguage} /> </div> - {importers.map(importer => ( + {importers.map(importer => <div className="modal-field spacer-bottom js-importer" data-key={importer.key} @@ -176,7 +180,7 @@ export default class CreateProfileForm extends React.PureComponent { {translate('quality_profiles.optional_configuration_file')} </p> </div> - ))} + )} </div>} <div className="modal-foot"> @@ -190,7 +194,6 @@ export default class CreateProfileForm extends React.PureComponent { </a> </div> </form> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.js index 037c1e9f16f..239d492b8b8 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionDeprecated.js @@ -48,7 +48,9 @@ export default class EvolutionDeprecated extends React.PureComponent { return ( <div className="quality-profile-box quality-profiles-evolution-deprecated"> <div className="spacer-bottom"> - <strong>{translate('quality_profiles.deprecated_rules')}</strong> + <strong> + {translate('quality_profiles.deprecated_rules')} + </strong> </div> <div className="spacer-bottom"> {translateWithParameters( @@ -57,7 +59,7 @@ export default class EvolutionDeprecated extends React.PureComponent { )} </div> <ul> - {sortedProfiles.map(profile => ( + {sortedProfiles.map(profile => <li key={profile.key} className="spacer-top"> <div className="text-ellipsis"> <ProfileLink @@ -84,7 +86,7 @@ export default class EvolutionDeprecated extends React.PureComponent { </Link> </div> </li> - ))} + )} </ul> </div> ); diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.js index 123b9394b91..54c74a6febd 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.js @@ -96,14 +96,13 @@ export default class EvolutionRules extends React.PureComponent { </strong> </div> <ul> - {this.state.latestRules.map(rule => ( + {this.state.latestRules.map(rule => <li key={rule.key} className="spacer-top"> <div className="text-ellipsis"> <Link to={getRulesUrl({ rule_key: rule.key }, this.props.organization)} className="link-no-underline"> - {' '} - {rule.name} + {' '}{rule.name} </Link> <div className="note"> {rule.activations @@ -119,14 +118,12 @@ export default class EvolutionRules extends React.PureComponent { </div> </div> </li> - ))} + )} </ul> {this.state.latestRulesTotal > RULES_LIMIT && <div className="spacer-top"> <Link to={newRulesUrl} className="small"> - {translate('see_all')} - {' '} - {formatMeasure(this.state.latestRulesTotal, 'SHORT_INT')} + {translate('see_all')} {formatMeasure(this.state.latestRulesTotal, 'SHORT_INT')} </Link> </div>} </div> diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.js index 63f0ff7bdef..8e65b78868f 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.js @@ -45,13 +45,15 @@ export default class EvolutionStagnant extends React.PureComponent { return ( <div className="quality-profile-box quality-profiles-evolution-stagnant"> <div className="spacer-bottom"> - <strong>{translate('quality_profiles.stagnant_profiles')}</strong> + <strong> + {translate('quality_profiles.stagnant_profiles')} + </strong> </div> <div className="spacer-bottom"> {translate('quality_profiles.not_updated_more_than_year')} </div> <ul> - {outdated.map(profile => ( + {outdated.map(profile => <li key={profile.key} className="spacer-top"> <div className="text-ellipsis"> <ProfileLink @@ -68,7 +70,7 @@ export default class EvolutionStagnant extends React.PureComponent { updated on {moment(profile.rulesUpdatedAt).format('LL')} </div> </li> - ))} + )} </ul> </div> ); diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.js index dbcf7840677..baf66452149 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesList.js @@ -40,7 +40,7 @@ export default class ProfilesList extends React.PureComponent { props: Props; renderProfiles(profiles: Array<Profile>) { - return profiles.map(profile => ( + return profiles.map(profile => <ProfilesListRow canAdmin={this.props.canAdmin} key={profile.key} @@ -49,7 +49,7 @@ export default class ProfilesList extends React.PureComponent { profile={profile} updateProfiles={this.props.updateProfiles} /> - )); + ); } renderHeader(languageKey: string, profilesCount: number) { @@ -107,10 +107,9 @@ export default class ProfilesList extends React.PureComponent { {translate('no_results')} </div>} - {languagesToShow.map(languageKey => ( + {languagesToShow.map(languageKey => <div key={languageKey} className="quality-profile-box quality-profiles-table"> <table data-language={languageKey} className="data zebra zebra-hover"> - {profilesToShow[languageKey] != null && this.renderHeader(languageKey, profilesToShow[languageKey].length)} @@ -120,11 +119,9 @@ export default class ProfilesList extends React.PureComponent { this.renderProfiles(profilesToShow[languageKey])} </tbody> </TooltipsContainer> - </table> </div> - ))} - + )} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.js index 1d0c931aa04..b05b6ff01c8 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListHeader.js @@ -58,7 +58,7 @@ export default class ProfilesListHeader extends React.PureComponent { {translate('quality_profiles.all_profiles')} </IndexLink> </li> - {this.props.languages.map(language => ( + {this.props.languages.map(language => <li key={language.key}> <IndexLink to={getProfilesForLanguagePath(language.key, this.props.organization)} @@ -67,7 +67,7 @@ export default class ProfilesListHeader extends React.PureComponent { {language.name} </IndexLink> </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.js index 0547623d744..afdebe740a4 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/ProfilesListRow.js @@ -117,7 +117,11 @@ export default class ProfilesListRow extends React.PureComponent { renderUpdateDate() { const date = <ProfileDate date={this.props.profile.userUpdatedAt} />; if (isStagnant(this.props.profile)) { - return <span className="badge badge-normal-size badge-focus">{date}</span>; + return ( + <span className="badge badge-normal-size badge-focus"> + {date} + </span> + ); } else { return date; } @@ -127,7 +131,11 @@ export default class ProfilesListRow extends React.PureComponent { const { lastUsed } = this.props.profile; const date = <ProfileDate date={lastUsed} />; if (!lastUsed) { - return <span className="badge badge-normal-size badge-focus">{date}</span>; + return ( + <span className="badge badge-normal-size badge-focus"> + {date} + </span> + ); } else { return date; } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.js b/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.js index 911482ee914..973e2947bff 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/RestoreProfileForm.js @@ -99,37 +99,38 @@ export default class RestoreProfileForm extends React.PureComponent { className="modal" overlayClassName="modal-overlay" onRequestClose={this.props.onClose}> - <form id="restore-profile-form" onSubmit={this.handleFormSubmit} ref={node => (this.form = node)}> - <div className="modal-head"> - <h2>{header}</h2> + <h2> + {header} + </h2> </div> <div className="modal-body"> {profile != null && ruleSuccesses != null ? ruleFailures - ? <div className="alert alert-warning"> - {translateWithParameters( - 'quality_profiles.restore_profile.warning', - profile.name, - ruleSuccesses, - ruleFailures - )} - </div> - : <div className="alert alert-success"> - {translateWithParameters( - 'quality_profiles.restore_profile.success', - profile.name, - ruleSuccesses - )} - </div> + ? <div className="alert alert-warning"> + {translateWithParameters( + 'quality_profiles.restore_profile.warning', + profile.name, + ruleSuccesses, + ruleFailures + )} + </div> + : <div className="alert alert-success"> + {translateWithParameters( + 'quality_profiles.restore_profile.success', + profile.name, + ruleSuccesses + )} + </div> : <div className="modal-field"> <label htmlFor="restore-profile-backup"> - {translate('backup')}<em className="mandatory">*</em> + {translate('backup')} + <em className="mandatory">*</em> </label> <input id="restore-profile-backup" name="backup" required={true} type="file" /> </div>} @@ -150,9 +151,7 @@ export default class RestoreProfileForm extends React.PureComponent { {translate('close')} </a> </div>} - </form> - </Modal> ); } diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/styles.css b/server/sonar-web/src/main/js/apps/quality-profiles/styles.css index 2712ddf243e..f00a77c24b1 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/styles.css +++ b/server/sonar-web/src/main/js/apps/quality-profiles/styles.css @@ -11,7 +11,8 @@ padding-bottom: 10px; } -.quality-profiles-table-name {} +.quality-profiles-table-name { +} .quality-profiles-table-inheritance { width: 280px; @@ -104,7 +105,8 @@ margin-top: 20px; } -.quality-profile-inheritance {} +.quality-profile-inheritance { +} .quality-profile-not-found { padding-top: 100px; diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/utils.js b/server/sonar-web/src/main/js/apps/quality-profiles/utils.js index c9af9dc3f88..a98b28b9acb 100644 --- a/server/sonar-web/src/main/js/apps/quality-profiles/utils.js +++ b/server/sonar-web/src/main/js/apps/quality-profiles/utils.js @@ -71,7 +71,7 @@ export function isStagnant(profile: Profile) { } export const getProfilesPath = (organization: ?string) => - (organization ? `/organizations/${organization}/quality_profiles` : '/profiles'); + organization ? `/organizations/${organization}/quality_profiles` : '/profiles'; export const getProfilesForLanguagePath = (language: string, organization: ?string) => ({ pathname: getProfilesPath(organization), diff --git a/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.js b/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.js index 3ac61372fdf..dbfca919bae 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.js +++ b/server/sonar-web/src/main/js/apps/sessions/components/LoginForm.js @@ -64,12 +64,14 @@ export default class LoginForm extends React.PureComponent { render() { return ( <div id="login_form"> - <h1 className="maintenance-title text-center">{translate('login.login_to_sonarqube')}</h1> + <h1 className="maintenance-title text-center"> + {translate('login.login_to_sonarqube')} + </h1> {this.props.identityProviders.length > 0 && <section className="oauth-providers"> <ul> - {this.props.identityProviders.map(identityProvider => ( + {this.props.identityProviders.map(identityProvider => <li key={identityProvider.key}> <a href={`${window.baseUrl}/sessions/init/${identityProvider.key}`} @@ -81,10 +83,12 @@ export default class LoginForm extends React.PureComponent { height="20" src={window.baseUrl + identityProvider.iconPath} /> - <span>Log in with {identityProvider.name}</span> + <span> + Log in with {identityProvider.name} + </span> </a> </li> - ))} + )} </ul> </section>} @@ -101,7 +105,9 @@ export default class LoginForm extends React.PureComponent { <GlobalMessagesContainer /> <div className="big-spacer-bottom"> - <label htmlFor="login" className="login-label">{translate('login')}</label> + <label htmlFor="login" className="login-label"> + {translate('login')} + </label> <input type="text" id="login" @@ -117,7 +123,9 @@ export default class LoginForm extends React.PureComponent { </div> <div className="big-spacer-bottom"> - <label htmlFor="password" className="login-label">{translate('password')}</label> + <label htmlFor="password" className="login-label"> + {translate('password')} + </label> <input type="password" id="password" @@ -132,8 +140,12 @@ export default class LoginForm extends React.PureComponent { <div> <div className="text-right overflow-hidden"> - <button name="commit" type="submit">{translate('sessions.log_in')}</button> - <a className="spacer-left" href={window.baseUrl + '/'}>{translate('cancel')}</a> + <button name="commit" type="submit"> + {translate('sessions.log_in')} + </button> + <a className="spacer-left" href={window.baseUrl + '/'}> + {translate('cancel')} + </a> </div> </div> </form>} diff --git a/server/sonar-web/src/main/js/apps/sessions/components/SimpleSessionsContainer.js b/server/sonar-web/src/main/js/apps/sessions/components/SimpleSessionsContainer.js index 1973d6fd996..2c6820f55f7 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/SimpleSessionsContainer.js +++ b/server/sonar-web/src/main/js/apps/sessions/components/SimpleSessionsContainer.js @@ -26,5 +26,9 @@ type Props = { }; export default function SimpleSessionsContainer({ children }: Props) { - return <SimpleContainer hideLoggedInInfo={true}>{children}</SimpleContainer>; + return ( + <SimpleContainer hideLoggedInInfo={true}> + {children} + </SimpleContainer> + ); } diff --git a/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.js b/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.js index 5be984a1524..52f00e1b8f6 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.js +++ b/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.js @@ -31,7 +31,7 @@ export default class Unauthorized extends React.PureComponent { return ( <div className="text-center"> <p id="unauthorized"> - {'You\'re not authorized to access this page. Please contact the administrator.'} + {"You're not authorized to access this page. Please contact the administrator."} </p> {!!message && diff --git a/server/sonar-web/src/main/js/apps/settings/components/CategoriesList.js b/server/sonar-web/src/main/js/apps/settings/components/CategoriesList.js index 676f5511174..aee685e3d61 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/CategoriesList.js +++ b/server/sonar-web/src/main/js/apps/settings/components/CategoriesList.js @@ -49,9 +49,8 @@ export default class CategoriesList extends React.PureComponent { query.id = this.props.component.key; } - const className = category.key.toLowerCase() === this.props.selectedCategory.toLowerCase() - ? 'active' - : ''; + const className = + category.key.toLowerCase() === this.props.selectedCategory.toLowerCase() ? 'active' : ''; const pathname = this.props.component ? '/project/settings' : '/settings'; @@ -71,11 +70,11 @@ export default class CategoriesList extends React.PureComponent { return ( <ul className="side-tabs-menu"> - {sortedCategories.map(category => ( + {sortedCategories.map(category => <li key={category.key}> {this.renderLink(category)} </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/settings/components/DefinitionDefaults.js b/server/sonar-web/src/main/js/apps/settings/components/DefinitionDefaults.js index 4f156e2a521..d686f9097db 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/DefinitionDefaults.js +++ b/server/sonar-web/src/main/js/apps/settings/components/DefinitionDefaults.js @@ -50,9 +50,13 @@ export default class DefinitionDefaults extends React.PureComponent { {isExplicitlySet && <div className="spacer-top nowrap"> - <button onClick={e => this.handleReset(e)}>{translate('reset_verb')}</button> + <button onClick={e => this.handleReset(e)}> + {translate('reset_verb')} + </button> <span className="spacer-left note"> - {translate('default')}{': '}{getDefaultValue(setting)} + {translate('default')} + {': '} + {getDefaultValue(setting)} </span> </div>} </div> diff --git a/server/sonar-web/src/main/js/apps/settings/components/DefinitionsList.js b/server/sonar-web/src/main/js/apps/settings/components/DefinitionsList.js index 7a6c4c6d8e5..8a9399e2c8b 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/DefinitionsList.js +++ b/server/sonar-web/src/main/js/apps/settings/components/DefinitionsList.js @@ -30,11 +30,11 @@ export default class DefinitionsList extends React.PureComponent { render() { return ( <ul className="settings-definitions-list"> - {this.props.settings.map(setting => ( + {this.props.settings.map(setting => <li key={setting.definition.key}> <Definition component={this.props.component} setting={setting} /> </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js b/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js index 2017a265f2c..89e821bc5fb 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js +++ b/server/sonar-web/src/main/js/apps/settings/components/EmailForm.js @@ -50,7 +50,9 @@ class EmailForm extends React.PureComponent { render() { return ( <div className="huge-spacer-top"> - <h3 className="spacer-bottom">{translate('email_configuration.test.title')}</h3> + <h3 className="spacer-bottom"> + {translate('email_configuration.test.title')} + </h3> <form style={{ marginLeft: 201 }} onSubmit={e => this.handleFormSubmit(e)}> {this.state.success && diff --git a/server/sonar-web/src/main/js/apps/settings/components/PageHeader.js b/server/sonar-web/src/main/js/apps/settings/components/PageHeader.js index c4bf4675a9c..44fc1f1976c 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/PageHeader.js +++ b/server/sonar-web/src/main/js/apps/settings/components/PageHeader.js @@ -27,18 +27,24 @@ export default class PageHeader extends React.PureComponent { }; render() { - const title = this.props.component != null - ? translate('project_settings.page') - : translate('settings.page'); + const title = + this.props.component != null + ? translate('project_settings.page') + : translate('settings.page'); - const description = this.props.component != null - ? translate('project_settings.page.description') - : translate('settings.page.description'); + const description = + this.props.component != null + ? translate('project_settings.page.description') + : translate('settings.page.description'); return ( <header className="page-header"> - <h1 className="page-title">{title}</h1> - <div className="page-description">{description}</div> + <h1 className="page-title"> + {title} + </h1> + <div className="page-description"> + {description} + </div> </header> ); } diff --git a/server/sonar-web/src/main/js/apps/settings/components/SubCategoryDefinitionsList.js b/server/sonar-web/src/main/js/apps/settings/components/SubCategoryDefinitionsList.js index 8aceab77b13..51186fde3b8 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/SubCategoryDefinitionsList.js +++ b/server/sonar-web/src/main/js/apps/settings/components/SubCategoryDefinitionsList.js @@ -51,9 +51,11 @@ export default class SubCategoryDefinitionsList extends React.PureComponent { return ( <ul className="settings-sub-categories-list"> - {sortedSubCategories.map(subCategory => ( + {sortedSubCategories.map(subCategory => <li key={subCategory.key}> - <h2 className="settings-sub-category-name">{subCategory.name}</h2> + <h2 className="settings-sub-category-name"> + {subCategory.name} + </h2> {subCategory.description != null && <div className="settings-sub-category-description markdown" @@ -65,7 +67,7 @@ export default class SubCategoryDefinitionsList extends React.PureComponent { /> {this.renderEmailForm(subCategory.key)} </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.js b/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.js index 071989e672e..c0ee695b2b6 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.js +++ b/server/sonar-web/src/main/js/apps/settings/components/WildcardsHelp.js @@ -99,9 +99,7 @@ export default function WildcardsHelp() { </td> </tr> <tr> - <td> - **/foo?.js - </td> + <td>**/foo?.js</td> <td> <ul> <li>src/foo1.js</li> diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.js b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.js index 66f02465338..66794971de7 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.js +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForBoolean.js @@ -36,7 +36,10 @@ export default class InputForBoolean extends React.PureComponent { <div className="display-inline-block text-top"> <Toggle name={this.props.name} value={displayedValue} onChange={this.props.onChange} /> - {!hasValue && <span className="spacer-left note">{translate('settings.not_set')}</span>} + {!hasValue && + <span className="spacer-left note"> + {translate('settings.not_set')} + </span>} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.js b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.js index 9f7a35f3f4e..0d95d4d5c17 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.js +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/InputForPassword.js @@ -66,7 +66,9 @@ export default class InputForPassword extends React.PureComponent { onChange={e => this.handleInputChange(e)} /> - <button className="spacer-left button-success">{translate('save')}</button> + <button className="spacer-left button-success"> + {translate('save')} + </button> <a className="spacer-left" href="#" onClick={e => this.handleCancelChangeClick(e)}> {translate('cancel')} diff --git a/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.js b/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.js index 5f807976d4d..8a48eede7f9 100644 --- a/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.js +++ b/server/sonar-web/src/main/js/apps/settings/components/inputs/PropertySetInput.js @@ -58,7 +58,7 @@ export default class PropertySetInput extends React.PureComponent { return ( <tr key={index}> - {setting.definition.fields.map(field => ( + {setting.definition.fields.map(field => <td key={field.key}> <PrimitiveInput name={this.getFieldName(field)} @@ -67,7 +67,7 @@ export default class PropertySetInput extends React.PureComponent { onChange={this.handleInputChange.bind(this, index, field.key)} /> </td> - ))} + )} <td className="thin nowrap"> {!isLast && <button @@ -92,13 +92,15 @@ export default class PropertySetInput extends React.PureComponent { style={{ width: 'auto', minWidth: 480, marginTop: -12 }}> <thead> <tr> - {setting.definition.fields.map(field => ( + {setting.definition.fields.map(field => <th key={field.key}> {field.name} {field.description != null && - <span className="spacer-top small">{field.description}</span>} + <span className="spacer-top small"> + {field.description} + </span>} </th> - ))} + )} <th> </th> </tr> </thead> diff --git a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.js b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.js index 72927a664e3..9b769007425 100644 --- a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.js +++ b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionApp.js @@ -45,7 +45,9 @@ export default class EncryptionApp extends React.PureComponent { <div id="encryption-page" className="page page-limited"> <Helmet title={translate('property.category.security.encryption')} /> <header className="page-header"> - <h1 className="page-title">{translate('property.category.security.encryption')}</h1> + <h1 className="page-title"> + {translate('property.category.security.encryption')} + </h1> {this.props.loading && <i className="spinner" />} </header> diff --git a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.js b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.js index 4fed5596a5e..544c19fa45c 100644 --- a/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.js +++ b/server/sonar-web/src/main/js/apps/settings/encryption/EncryptionForm.js @@ -75,10 +75,8 @@ export default class EncryptionForm extends React.PureComponent { <div className="huge-spacer-top bordered-top"> <div className="big-spacer-top spacer-bottom"> - Note that the secret key can be changed, but all the encrypted properties - {' '} - will have to be updated. - {' '} + Note that the secret key can be changed, but all the encrypted properties will have to + be updated.{' '} <a href="https://redirect.sonarsource.com/doc/settings-encryption.html"> More information </a> diff --git a/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.js b/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.js index 68e0cb74233..f6ae735d4eb 100644 --- a/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.js +++ b/server/sonar-web/src/main/js/apps/settings/encryption/GenerateSecretKeyForm.js @@ -50,44 +50,32 @@ export default class GenerateSecretKeyForm extends React.PureComponent { <ul className="list-styled markdown"> <li className="spacer-bottom"> - Store the secret key in the file - {' '} - <code>~/.sonar/sonar-secret.txt</code> - {' '} - of the server. This file can - be relocated by defining the property <code>sonar.secretKeyPath</code>{' '} - in <code>conf/sonar.properties</code> + Store the secret key in the file <code>~/.sonar/sonar-secret.txt</code> of the + server. This file can be relocated by defining the property{' '} + <code>sonar.secretKeyPath</code> in <code>conf/sonar.properties</code> </li> <li className="spacer-bottom"> Restrict access to this file by making it readable and by owner only </li> <li className="spacer-bottom"> - Restart the server if the property - {' '} - <code>sonar.secretKeyPath</code> - {' '} - has been set or changed. + Restart the server if the property <code>sonar.secretKeyPath</code> has been set + or changed. </li> <li className="spacer-bottom"> - Copy this file on all the machines that execute code inspection. Define the - {' '} - property <code>sonar.secretKeyPath</code> on those machines if the path is not - {' '} + Copy this file on all the machines that execute code inspection. Define the{' '} + property <code>sonar.secretKeyPath</code> on those machines if the path is not{' '} <code>~/.sonar/sonar-secret.txt</code>. </li> <li> - For each property that you want to encrypt, generate the encrypted value and - {' '} - replace the original value wherever it is stored - {' '} - (configuration files, command lines). + For each property that you want to encrypt, generate the encrypted value and{' '} + replace the original value wherever it is stored (configuration files, command + lines). </li> </ul> </div> : <div> <p className="spacer-bottom"> - Secret key is required to be able to encrypt properties. - {' '} + Secret key is required to be able to encrypt properties.{' '} <a href="https://redirect.sonarsource.com/doc/settings-encryption.html"> More information </a> diff --git a/server/sonar-web/src/main/js/apps/settings/licenses/LicenseChangeForm.js b/server/sonar-web/src/main/js/apps/settings/licenses/LicenseChangeForm.js index ff068c49d98..b9b6c56b737 100644 --- a/server/sonar-web/src/main/js/apps/settings/licenses/LicenseChangeForm.js +++ b/server/sonar-web/src/main/js/apps/settings/licenses/LicenseChangeForm.js @@ -76,10 +76,14 @@ export default class LicenseChangeForm extends React.PureComponent { onRequestClose={this.closeModal}> <form onSubmit={this.handleSubmit}> <div className="modal-head"> - <h2>{translateWithParameters('licenses.update_license_for_x', productName)}</h2> + <h2> + {translateWithParameters('licenses.update_license_for_x', productName)} + </h2> </div> <div className="modal-body"> - <label htmlFor="license-input">{translate('licenses.license_input_label')}</label> + <label htmlFor="license-input"> + {translate('licenses.license_input_label')} + </label> <textarea autoFocus={true} className="width-100 spacer-top" @@ -88,7 +92,9 @@ export default class LicenseChangeForm extends React.PureComponent { id="license-input" defaultValue={license.value} /> - <div className="spacer-top note">{translate('licenses.license_input_note')}</div> + <div className="spacer-top note"> + {translate('licenses.license_input_note')} + </div> </div> <div className="modal-foot"> {this.state.loading && <i className="js-modal-spinner spinner spacer-right" />} diff --git a/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRow.js b/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRow.js index 9a5a332ac20..277d8a4c636 100644 --- a/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRow.js +++ b/server/sonar-web/src/main/js/apps/settings/licenses/LicenseRow.js @@ -35,20 +35,26 @@ export default class LicenseRow extends React.PureComponent { return ( <tr className="js-license" data-license-key={license.key}> - <td className="text-middle"><LicenseStatus license={license} /></td> + <td className="text-middle"> + <LicenseStatus license={license} /> + </td> <td className="js-product text-middle"> <div className={license.invalidProduct ? 'text-danger' : null}> {license.name || license.key} </div> </td> - <td className="js-organization text-middle">{license.organization}</td> + <td className="js-organization text-middle"> + {license.organization} + </td> <td className="js-expiration text-middle"> {license.expiration != null && <div className={license.invalidExpiration ? 'text-danger' : null}> {moment(license.expiration).format('LL')} </div>} </td> - <td className="js-type text-middle">{license.type}</td> + <td className="js-type text-middle"> + {license.type} + </td> <td className="js-server-id text-middle"> <div className={license.invalidServerId ? 'text-danger' : null}> {license.serverId} diff --git a/server/sonar-web/src/main/js/apps/settings/licenses/LicensesAppHeader.js b/server/sonar-web/src/main/js/apps/settings/licenses/LicensesAppHeader.js index 153efb04fa5..c512f32a770 100644 --- a/server/sonar-web/src/main/js/apps/settings/licenses/LicensesAppHeader.js +++ b/server/sonar-web/src/main/js/apps/settings/licenses/LicensesAppHeader.js @@ -23,7 +23,9 @@ import { translate } from '../../../helpers/l10n'; export default function LicensesAppHeader() { return ( <header className="page-header"> - <h1 className="page-title">{translate('property.category.licenses')}</h1> + <h1 className="page-title"> + {translate('property.category.licenses')} + </h1> <div className="page-description" dangerouslySetInnerHTML={{ __html: translate('property.category.licenses.description') }} diff --git a/server/sonar-web/src/main/js/apps/settings/licenses/LicensesList.js b/server/sonar-web/src/main/js/apps/settings/licenses/LicensesList.js index afb1efc5c18..9104cd830ee 100644 --- a/server/sonar-web/src/main/js/apps/settings/licenses/LicensesList.js +++ b/server/sonar-web/src/main/js/apps/settings/licenses/LicensesList.js @@ -39,18 +39,28 @@ export default class LicensesList extends React.PureComponent { <thead> <tr> <th width={40}> </th> - <th>{translate('licenses.list.product')}</th> - <th width={150}>{translate('licenses.list.organization')}</th> - <th width={150}>{translate('licenses.list.expiration')}</th> - <th width={150}>{translate('licenses.list.type')}</th> - <th width={150}>{translate('licenses.list.server')}</th> + <th> + {translate('licenses.list.product')} + </th> + <th width={150}> + {translate('licenses.list.organization')} + </th> + <th width={150}> + {translate('licenses.list.expiration')} + </th> + <th width={150}> + {translate('licenses.list.type')} + </th> + <th width={150}> + {translate('licenses.list.server')} + </th> <th width={80}> </th> </tr> </thead> <tbody> - {this.props.licenses.map(licenseKey => ( + {this.props.licenses.map(licenseKey => <LicenseRowContainer key={licenseKey} licenseKey={licenseKey} /> - ))} + )} </tbody> </table> ); diff --git a/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdApp.js b/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdApp.js index ebe44676016..ef2ded655bc 100644 --- a/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdApp.js +++ b/server/sonar-web/src/main/js/apps/settings/serverId/ServerIdApp.js @@ -79,9 +79,13 @@ export default class ServerIdApp extends React.PureComponent { <div id="server-id-page" className="page page-limited"> <Helmet title={translate('property.category.server_id')} /> <header className="page-header"> - <h1 className="page-title">{translate('property.category.server_id')}</h1> + <h1 className="page-title"> + {translate('property.category.server_id')} + </h1> {this.state.loading && <i className="spinner" />} - <div className="page-description">{translate('server_id_configuration.information')}</div> + <div className="page-description"> + {translate('server_id_configuration.information')} + </div> </header> {this.state.serverId != null && @@ -95,7 +99,9 @@ export default class ServerIdApp extends React.PureComponent { value={this.state.serverId} /> {!!this.state.invalidServerId && - <span className="spacer-left">{translate('server_id_configuration.bad_key')}</span>} + <span className="spacer-left"> + {translate('server_id_configuration.bad_key')} + </span>} </div>} <div className="panel"> @@ -136,9 +142,11 @@ export default class ServerIdApp extends React.PureComponent { <div className="modal-field-description"> {translate('server_id_configuration.ip.desc')} <ul className="list-styled"> - {this.state.validIpAddresses.map(ip => ( - <li key={ip} className="little-spacer-top">{ip}</li> - ))} + {this.state.validIpAddresses.map(ip => + <li key={ip} className="little-spacer-top"> + {ip} + </li> + )} </ul> </div> </div> diff --git a/server/sonar-web/src/main/js/apps/settings/styles.css b/server/sonar-web/src/main/js/apps/settings/styles.css index 4d188e811dc..c3d0a6588b8 100644 --- a/server/sonar-web/src/main/js/apps/settings/styles.css +++ b/server/sonar-web/src/main/js/apps/settings/styles.css @@ -79,9 +79,11 @@ border-top: 1px dotted #e6e6e6; } -.settings-sub-categories-list {} +.settings-sub-categories-list { +} -.settings-sub-categories-list > li {} +.settings-sub-categories-list > li { +} .settings-sub-categories-list > li + li { margin: 30px -20px 0; diff --git a/server/sonar-web/src/main/js/apps/system/item-log-level.js b/server/sonar-web/src/main/js/apps/system/item-log-level.js index 473213a4870..3a0a5019cf3 100644 --- a/server/sonar-web/src/main/js/apps/system/item-log-level.js +++ b/server/sonar-web/src/main/js/apps/system/item-log-level.js @@ -37,15 +37,22 @@ export default class ItemLogLevel extends React.PureComponent { }; render() { - const options = LOG_LEVELS.map(level => <option key={level} value={level}>{level}</option>); - const warning = this.state.level !== 'INFO' - ? <div className="alert alert-danger spacer-top" style={{ wordBreak: 'normal' }}> - {translate('system.log_level.warning')} - </div> - : null; + const options = LOG_LEVELS.map(level => + <option key={level} value={level}> + {level} + </option> + ); + const warning = + this.state.level !== 'INFO' + ? <div className="alert alert-danger spacer-top" style={{ wordBreak: 'normal' }}> + {translate('system.log_level.warning')} + </div> + : null; return ( <div> - <select ref="select" onChange={this.onChange} value={this.state.level}>{options}</select> + <select ref="select" onChange={this.onChange} value={this.state.level}> + {options} + </select> {warning} </div> ); diff --git a/server/sonar-web/src/main/js/apps/system/item-object.js b/server/sonar-web/src/main/js/apps/system/item-object.js index 32b81388595..d5e2b127efa 100644 --- a/server/sonar-web/src/main/js/apps/system/item-object.js +++ b/server/sonar-web/src/main/js/apps/system/item-object.js @@ -25,14 +25,20 @@ export default class ItemObject extends React.PureComponent { const rows = Object.keys(this.props.value).map(key => { return ( <tr key={key}> - <td className="thin nowrap">{key}</td> - <td><ItemValue value={this.props.value[key]} /></td> + <td className="thin nowrap"> + {key} + </td> + <td> + <ItemValue value={this.props.value[key]} /> + </td> </tr> ); }); return ( <table className="data"> - <tbody>{rows}</tbody> + <tbody> + {rows} + </tbody> </table> ); } diff --git a/server/sonar-web/src/main/js/apps/system/item-value.js b/server/sonar-web/src/main/js/apps/system/item-value.js index 5461aa95e8b..09b1220ea2b 100644 --- a/server/sonar-web/src/main/js/apps/system/item-value.js +++ b/server/sonar-web/src/main/js/apps/system/item-value.js @@ -38,7 +38,11 @@ export default class ItemValue extends React.PureComponent { formattedValue = <ItemObject value={rawValue} />; break; default: - formattedValue = <code>{rawValue}</code>; + formattedValue = ( + <code> + {rawValue} + </code> + ); } return formattedValue; } diff --git a/server/sonar-web/src/main/js/apps/system/main.js b/server/sonar-web/src/main/js/apps/system/main.js index 3bb364b83c0..53fb1380a5b 100644 --- a/server/sonar-web/src/main/js/apps/system/main.js +++ b/server/sonar-web/src/main/js/apps/system/main.js @@ -69,20 +69,26 @@ export default class Main extends React.PureComponent { if (this.state && this.state.sections) { sections = this.state.sections .filter(section => SECTIONS_ORDER.indexOf(section.name) >= 0) - .map(section => ( + .map(section => <Section key={section.name} section={section.name} items={section.items} /> - )); + ); } return ( <div className="page"> <Helmet title={translate('system_info.page')} /> <header className="page-header"> - <h1 className="page-title">{translate('system_info.page')}</h1> + <h1 className="page-title"> + {translate('system_info.page')} + </h1> <div className="page-actions"> - <a href={window.baseUrl + '/api/system/info'} id="download-link">Download</a> + <a href={window.baseUrl + '/api/system/info'} id="download-link"> + Download + </a> <div className="display-inline-block dropdown big-spacer-left"> - <button data-toggle="dropdown">Logs <i className="icon-dropdown" /></button> + <button data-toggle="dropdown"> + Logs <i className="icon-dropdown" /> + </button> <ul className="dropdown-menu"> <li> <a href={window.baseUrl + '/api/system/logs?process=app'} id="logs-link"> diff --git a/server/sonar-web/src/main/js/apps/system/section.js b/server/sonar-web/src/main/js/apps/system/section.js index 89b90e99c5d..e9f540cc3ea 100644 --- a/server/sonar-web/src/main/js/apps/system/section.js +++ b/server/sonar-web/src/main/js/apps/system/section.js @@ -39,9 +39,13 @@ export default class Section extends React.PureComponent { return ( <div className="big-spacer-bottom"> - <h3 className="spacer-bottom">{this.props.section}</h3> + <h3 className="spacer-bottom"> + {this.props.section} + </h3> <table className="data zebra" id={this.props.section}> - <tbody>{items}</tbody> + <tbody> + {items} + </tbody> </table> </div> ); diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/AnalysisStep.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/AnalysisStep.js index 497f104b304..a3b938727d6 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/AnalysisStep.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/AnalysisStep.js @@ -81,9 +81,10 @@ export default class AnalysisStep extends React.PureComponent { ); }; - renderFormattedCommand = (...lines: Array<string>) => ( - <pre>{lines.join(' ' + '\\' + '\n' + ' ')}</pre> - ); + renderFormattedCommand = (...lines: Array<string>) => + <pre> + {lines.join(' ' + '\\' + '\n' + ' ')} + </pre>; renderCommand = () => { const { result } = this.state; @@ -107,21 +108,19 @@ export default class AnalysisStep extends React.PureComponent { } }; - renderCommandForMaven = () => ( + renderCommandForMaven = () => <JavaMaven host={this.getHost()} organization={this.props.organization} token={this.props.token} - /> - ); + />; - renderCommandForGradle = () => ( + renderCommandForGradle = () => <JavaGradle host={this.getHost()} organization={this.props.organization} token={this.props.token} - /> - ); + />; renderCommandForDotNet = () => { return ( @@ -147,7 +146,7 @@ export default class AnalysisStep extends React.PureComponent { ); }; - renderCommandForClangGCC = () => ( + renderCommandForClangGCC = () => <ClangGCC host={this.getHost()} organization={this.props.organization} @@ -156,10 +155,9 @@ export default class AnalysisStep extends React.PureComponent { // $FlowFixMe projectKey={this.state.result.projectKey} token={this.props.token} - /> - ); + />; - renderCommandForOther = () => ( + renderCommandForOther = () => <Other host={this.getHost()} organization={this.props.organization} @@ -168,8 +166,7 @@ export default class AnalysisStep extends React.PureComponent { // $FlowFixMe projectKey={this.state.result.projectKey} token={this.props.token} - /> - ); + />; renderResult = () => null; diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/LanguageStep.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/LanguageStep.js index 44bfb4ed766..55e030422fb 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/LanguageStep.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/LanguageStep.js @@ -90,7 +90,7 @@ export default class LanguageStep extends React.PureComponent { this.setState({ projectKey: undefined }, this.handleChange); }; - renderJavaBuild = () => ( + renderJavaBuild = () => <div className="big-spacer-top"> <h4 className="spacer-bottom"> {translate('onboarding.language.java.build_technology')} @@ -104,10 +104,9 @@ export default class LanguageStep extends React.PureComponent { }))} value={this.state.javaBuild} /> - </div> - ); + </div>; - renderCFamilyCompiler = () => ( + renderCFamilyCompiler = () => <div className="big-spacer-top"> <h4 className="spacer-bottom"> {translate('onboarding.language.c-family.compiler')} @@ -121,10 +120,9 @@ export default class LanguageStep extends React.PureComponent { }))} value={this.state.cFamilyCompiler} /> - </div> - ); + </div>; - renderOS = () => ( + renderOS = () => <div className="big-spacer-top"> <h4 className="spacer-bottom"> {translate('onboarding.language.os')} @@ -138,17 +136,15 @@ export default class LanguageStep extends React.PureComponent { }))} value={this.state.os} /> - </div> - ); + </div>; - renderProjectKey = () => ( + renderProjectKey = () => <NewProjectForm onDelete={this.handleProjectKeyDelete} onDone={this.handleProjectKeyDone} organization={this.props.organization} projectKey={this.state.projectKey} - /> - ); + />; render() { const shouldAskProjectKey = @@ -165,7 +161,9 @@ export default class LanguageStep extends React.PureComponent { return ( <div> <div> - <h4 className="spacer-bottom">{translate('onboarding.language')}</h4> + <h4 className="spacer-bottom"> + {translate('onboarding.language')} + </h4> <RadioToggle name="language" onCheck={this.handleLanguageChange} diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewOrganizationForm.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewOrganizationForm.js index 1f20fe29572..dd7594e8ed5 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewOrganizationForm.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewOrganizationForm.js @@ -123,7 +123,9 @@ export default class NewOrganizationForm extends React.PureComponent { return done ? <form onSubmit={this.handleOrganizationDelete}> - <span className="spacer-right text-middle">{organization}</span> + <span className="spacer-right text-middle"> + {organization} + </span> {loading ? <i className="spinner text-middle" /> : <button className="button-clean text-middle"> @@ -144,7 +146,9 @@ export default class NewOrganizationForm extends React.PureComponent { /> {loading ? <i className="spinner text-middle" /> - : <button className="text-middle" disabled={!valid}>{translate('create')}</button>} + : <button className="text-middle" disabled={!valid}> + {translate('create')} + </button>} {!unique && <span className="big-spacer-left text-danger text-middle"> <i className="icon-alert-error little-spacer-right text-text-top" /> diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewProjectForm.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewProjectForm.js index 11f24180d82..5f7a87855ca 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewProjectForm.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/NewProjectForm.js @@ -108,7 +108,9 @@ export default class NewProjectForm extends React.PureComponent { const form = done ? <form onSubmit={this.handleProjectDelete}> - <span className="spacer-right text-middle">{projectKey}</span> + <span className="spacer-right text-middle"> + {projectKey} + </span> {loading ? <i className="spinner text-middle" /> : <button className="button-clean text-middle"> @@ -128,7 +130,9 @@ export default class NewProjectForm extends React.PureComponent { /> {loading ? <i className="spinner text-middle" /> - : <button className="text-middle" disabled={!valid}>{translate('Done')}</button>} + : <button className="text-middle" disabled={!valid}> + {translate('Done')} + </button>} <div className="note spacer-top abs-width-300"> {translate('onboarding.project_key_requirement')} </div> diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/Onboarding.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/Onboarding.js index 45df83f7dcd..b648f3a5197 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/Onboarding.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/Onboarding.js @@ -139,7 +139,9 @@ export default class Onboarding extends React.PureComponent { <div className="page page-limited onboarding"> <header className="page-header"> - <h1 className="page-title">{header}</h1> + <h1 className="page-title"> + {header} + </h1> <div className="page-actions"> {this.state.skipping ? <i className="spinner" /> diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationStep.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationStep.js index 9270d7c6033..64f7eb6504c 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationStep.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/OrganizationStep.js @@ -130,7 +130,7 @@ export default class OrganizationStep extends React.PureComponent { } }; - renderPersonalOrganizationOption = () => ( + renderPersonalOrganizationOption = () => <div> <a className="link-base-color link-no-underline" href="#" onClick={this.handlePersonalClick}> <i @@ -139,12 +139,13 @@ export default class OrganizationStep extends React.PureComponent { })} /> {translate('onboarding.organization.my_personal_organization')} - <span className="note spacer-left">{this.props.currentUser.login}</span> + <span className="note spacer-left"> + {this.props.currentUser.login} + </span> </a> - </div> - ); + </div>; - renderExistingOrganizationOption = () => ( + renderExistingOrganizationOption = () => <div className="big-spacer-top"> <a className="js-existing link-base-color link-no-underline" @@ -170,10 +171,9 @@ export default class OrganizationStep extends React.PureComponent { value={this.state.existingOrganization} /> </div>} - </div> - ); + </div>; - renderNewOrganizationOption = () => ( + renderNewOrganizationOption = () => <div className="big-spacer-top"> <a className="js-new link-base-color link-no-underline" @@ -194,8 +194,7 @@ export default class OrganizationStep extends React.PureComponent { organization={this.state.newOrganization} /> </div>} - </div> - ); + </div>; renderForm = () => { return ( @@ -224,7 +223,9 @@ export default class OrganizationStep extends React.PureComponent { return result != null ? <div className="boxed-group-actions"> <i className="icon-check spacer-right" /> - <strong>{result}</strong> + <strong> + {result} + </strong> </div> : null; }; diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/ProjectKeyStep.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/ProjectKeyStep.js index 156fc34b470..9a173d999f5 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/ProjectKeyStep.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/ProjectKeyStep.js @@ -107,7 +107,9 @@ export default class ProjectKeyStep extends React.PureComponent { const form = done ? <form onSubmit={this.handleProjectDelete}> - <span className="spacer-right text-middle">{projectKey}</span> + <span className="spacer-right text-middle"> + {projectKey} + </span> {loading ? <i className="spinner" /> : <button className="button-clean"> @@ -127,7 +129,9 @@ export default class ProjectKeyStep extends React.PureComponent { /> {loading ? <i className="spinner" /> - : <button className="text-middle" disabled={!valid}>{translate('Done')}</button>} + : <button className="text-middle" disabled={!valid}> + {translate('Done')} + </button>} <div className="note spacer-top abs-width-300"> {translate('onboarding.project_key_requirement')} </div> diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/Step.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/Step.js index fba30c8102b..e2ae5cc9c40 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/Step.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/Step.js @@ -50,10 +50,14 @@ export default function Step(props: Props) { onClick={clickable ? handleClick : undefined} role={clickable ? 'button' : undefined} tabIndex={clickable ? 0 : undefined}> - <div className="onboarding-step-number">{props.stepNumber}</div> + <div className="onboarding-step-number"> + {props.stepNumber} + </div> {!props.open && props.renderResult()} <div className="boxed-group-header"> - <h2>{props.stepTitle}</h2> + <h2> + {props.stepTitle} + </h2> </div> {props.open ? props.renderForm() : <div className="boxed-group-inner" />} </div> diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/TokenStep.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/TokenStep.js index 443d4f5c2ec..0209d26b6c8 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/TokenStep.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/TokenStep.js @@ -111,8 +111,13 @@ export default class TokenStep extends React.PureComponent { <div className="boxed-group-inner"> {token != null ? <form onSubmit={this.handleTokenRevoke}> - <span className="text-middle">{tokenName}{': '}</span> - <strong className="spacer-right text-middle">{token}</strong> + <span className="text-middle"> + {tokenName} + {': '} + </span> + <strong className="spacer-right text-middle"> + {token} + </strong> {loading ? <i className="spinner text-middle" /> : <button className="button-clean text-middle" onClick={this.handleTokenRevoke}> @@ -131,7 +136,9 @@ export default class TokenStep extends React.PureComponent { /> {loading ? <i className="spinner text-middle" /> - : <button className="text-middle">{translate('onboarding.token.generate')}</button>} + : <button className="text-middle"> + {translate('onboarding.token.generate')} + </button>} </form>} <div className="note big-spacer-top width-50"> @@ -158,8 +165,11 @@ export default class TokenStep extends React.PureComponent { return ( <div className="boxed-group-actions"> <i className="icon-check spacer-right" /> - {tokenName}{': '} - <strong>{token}</strong> + {tokenName} + {': '} + <strong> + {token} + </strong> </div> ); }; diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/Command.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/Command.js index ec9f980083d..ef1fb50431c 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/Command.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/Command.js @@ -77,7 +77,9 @@ export default class Command extends React.PureComponent { return ( <div className="onboarding-command"> - <pre>{finalCommand}</pre> + <pre> + {finalCommand} + </pre> {this.state.tooltipShown ? <Tooltip defaultVisible={true} placement="top" overlay="Copied!" trigger="manual"> {button} diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaGradle.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaGradle.js index f7a710b9472..7bec8730768 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaGradle.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaGradle.js @@ -40,7 +40,9 @@ export default function JavaGradle(props: Props) { return ( <div> - <h4 className="spacer-bottom">{translate('onboarding.analysis.java.gradle.header')}</h4> + <h4 className="spacer-bottom"> + {translate('onboarding.analysis.java.gradle.header')} + </h4> <p className="spacer-bottom markdown" dangerouslySetInnerHTML={{ __html: translate('onboarding.analysis.java.gradle.text.1') }} diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaMaven.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaMaven.js index 1166463012a..bbe6a513686 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaMaven.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/JavaMaven.js @@ -38,8 +38,12 @@ export default function JavaMaven(props: Props) { return ( <div> - <h4 className="spacer-bottom">{translate('onboarding.analysis.java.maven.header')}</h4> - <p className="spacer-bottom markdown">{translate('onboarding.analysis.java.maven.text')}</p> + <h4 className="spacer-bottom"> + {translate('onboarding.analysis.java.maven.header')} + </h4> + <p className="spacer-bottom markdown"> + {translate('onboarding.analysis.java.maven.text')} + </p> <Command command={command} /> <p className="big-spacer-top markdown" diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/MSBuildScanner.js b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/MSBuildScanner.js index 3be38395ca9..2716e636090 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/MSBuildScanner.js +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/commands/MSBuildScanner.js @@ -28,7 +28,9 @@ type Props = { export default function MSBuildScanner(props: Props) { return ( <div className={props.className}> - <h4 className="spacer-bottom">{translate('onboarding.analysis.msbuild.header')}</h4> + <h4 className="spacer-bottom"> + {translate('onboarding.analysis.msbuild.header')} + </h4> <p className="spacer-bottom markdown" dangerouslySetInnerHTML={{ __html: translate('onboarding.analysis.msbuild.text') }} diff --git a/server/sonar-web/src/main/js/apps/tutorials/onboarding/styles.css b/server/sonar-web/src/main/js/apps/tutorials/onboarding/styles.css index ba588639db3..81266990209 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/onboarding/styles.css +++ b/server/sonar-web/src/main/js/apps/tutorials/onboarding/styles.css @@ -1,6 +1,6 @@ - .onboarding { - min-height: calc(70vh - 60px); - } +.onboarding { + min-height: calc(70vh - 60px); +} .onboarding-step { position: relative; diff --git a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.js b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.js index 3e887b078c4..dd64d1159bf 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.js +++ b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearch.js @@ -98,9 +98,10 @@ export default class UsersSelectSearch extends React.PureComponent { }; render() { - const noResult = this.state.search.length === 1 - ? translateWithParameters('select2.tooShort', 2) - : translate('no_results'); + const noResult = + this.state.search.length === 1 + ? translateWithParameters('select2.tooShort', 2) + : translate('no_results'); return ( <Select autofocus={this.props.autoFocus} diff --git a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchOption.js b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchOption.js index e1b8056fd0e..5636a042c10 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchOption.js +++ b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchOption.js @@ -63,8 +63,12 @@ export default class UsersSelectSearchOption extends React.PureComponent { onMouseMove={this.handleMouseMove} title={user.name}> <Avatar hash={user.avatar} email={user.email} name={user.name} size={AVATAR_SIZE} /> - <strong className="spacer-left">{this.props.children}</strong> - <span className="note little-spacer-left">{user.login}</span> + <strong className="spacer-left"> + {this.props.children} + </strong> + <span className="note little-spacer-left"> + {user.login} + </span> </div> ); } diff --git a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchValue.js b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchValue.js index 090ad3a0d22..d8e43c15f7e 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchValue.js +++ b/server/sonar-web/src/main/js/apps/users/components/UsersSelectSearchValue.js @@ -40,8 +40,12 @@ export default class UsersSelectSearchValue extends React.PureComponent { user.login && <div className="Select-value-label"> <Avatar hash={user.avatar} email={user.email} name={user.name} size={AVATAR_SIZE} /> - <strong className="spacer-left">{this.props.children}</strong> - <span className="note little-spacer-left">{user.login}</span> + <strong className="spacer-left"> + {this.props.children} + </strong> + <span className="note little-spacer-left"> + {user.login} + </span> </div>} </div> ); diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchOption-test.js b/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchOption-test.js index 3023f73918c..090808dc979 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchOption-test.js +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchOption-test.js @@ -35,14 +35,18 @@ const user2 = { it('should render correctly without all parameters', () => { const wrapper = shallow( - <UsersSelectSearchOption option={user}>{user.name}</UsersSelectSearchOption> + <UsersSelectSearchOption option={user}> + {user.name} + </UsersSelectSearchOption> ); expect(wrapper).toMatchSnapshot(); }); it('should render correctly with email instead of hash', () => { const wrapper = shallow( - <UsersSelectSearchOption option={user2}>{user.name}</UsersSelectSearchOption> + <UsersSelectSearchOption option={user2}> + {user.name} + </UsersSelectSearchOption> ); expect(wrapper).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchValue-test.js b/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchValue-test.js index 357365a0826..cd182e98fc5 100644 --- a/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchValue-test.js +++ b/server/sonar-web/src/main/js/apps/users/components/__tests__/UsersSelectSearchValue-test.js @@ -35,14 +35,18 @@ const user2 = { it('should render correctly with a user', () => { const wrapper = shallow( - <UsersSelectSearchValue value={user}>{user.name}</UsersSelectSearchValue> + <UsersSelectSearchValue value={user}> + {user.name} + </UsersSelectSearchValue> ); expect(wrapper).toMatchSnapshot(); }); it('should render correctly with email instead of hash', () => { const wrapper = shallow( - <UsersSelectSearchValue value={user2}>{user2.name}</UsersSelectSearchValue> + <UsersSelectSearchValue value={user2}> + {user2.name} + </UsersSelectSearchValue> ); expect(wrapper).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/apps/web-api/components/Action.js b/server/sonar-web/src/main/js/apps/web-api/components/Action.js index a62bc2c4b6e..0d09aeb6973 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/Action.js +++ b/server/sonar-web/src/main/js/apps/web-api/components/Action.js @@ -100,7 +100,10 @@ export default class Action extends React.PureComponent { <InternalBadge /> </span>} - {action.since && <span className="spacer-left badge">since {action.since}</span>} + {action.since && + <span className="spacer-left badge"> + since {action.since} + </span>} {action.deprecatedSince && <span className="spacer-left"> diff --git a/server/sonar-web/src/main/js/apps/web-api/components/ActionChangelog.js b/server/sonar-web/src/main/js/apps/web-api/components/ActionChangelog.js index 7297daed368..1b0b5b9e0c0 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/ActionChangelog.js +++ b/server/sonar-web/src/main/js/apps/web-api/components/ActionChangelog.js @@ -33,14 +33,14 @@ export default class ActionChangelog extends React.PureComponent { render() { return ( <ul className="big-spacer-top"> - {this.props.changelog.map((item, index) => ( + {this.props.changelog.map((item, index) => <li key={index} className="spacer-top"> <span className="spacer-right badge"> {item.version} </span> {item.description} </li> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/apps/web-api/components/Domain.js b/server/sonar-web/src/main/js/apps/web-api/components/Domain.js index 0c79d15d6b8..a421f123144 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/Domain.js +++ b/server/sonar-web/src/main/js/apps/web-api/components/Domain.js @@ -44,7 +44,9 @@ export default class Domain extends React.PureComponent { return ( <div className="web-api-domain"> <header className="web-api-domain-header"> - <h2 className="web-api-domain-title">{domain.path}</h2> + <h2 className="web-api-domain-title"> + {domain.path} + </h2> {domain.deprecated && <span className="spacer-left"> @@ -64,7 +66,7 @@ export default class Domain extends React.PureComponent { />} <div className="web-api-domain-actions"> - {filteredActions.map(action => ( + {filteredActions.map(action => <Action key={getActionKey(domain.path, action.key)} action={action} @@ -72,7 +74,7 @@ export default class Domain extends React.PureComponent { showDeprecated={showDeprecated} showInternal={showInternal} /> - ))} + )} </div> </div> ); diff --git a/server/sonar-web/src/main/js/apps/web-api/components/Menu.js b/server/sonar-web/src/main/js/apps/web-api/components/Menu.js index 815cb1d4077..a3069a0f7bb 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/Menu.js +++ b/server/sonar-web/src/main/js/apps/web-api/components/Menu.js @@ -53,7 +53,7 @@ export default class Menu extends React.PureComponent { <div className="api-documentation-results panel"> <TooltipsContainer> <div className="list-group"> - {filteredDomains.map(domain => ( + {filteredDomains.map(domain => <Link key={domain.path} className={classNames('list-group-item', { @@ -71,7 +71,7 @@ export default class Menu extends React.PureComponent { dangerouslySetInnerHTML={{ __html: domain.description }} />} </Link> - ))} + )} </div> </TooltipsContainer> </div> diff --git a/server/sonar-web/src/main/js/apps/web-api/components/Params.js b/server/sonar-web/src/main/js/apps/web-api/components/Params.js index ddb229fee99..cda32ebceeb 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/Params.js +++ b/server/sonar-web/src/main/js/apps/web-api/components/Params.js @@ -39,10 +39,12 @@ export default class Params extends React.PureComponent { <div className="web-api-params"> <table> <tbody> - {displayedParameters.map(param => ( + {displayedParameters.map(param => <tr key={param.key}> <td className="markdown" style={{ width: 180 }}> - <code>{param.key}</code> + <code> + {param.key} + </code> {param.internal && <div className="little-spacer-top"> @@ -57,7 +59,9 @@ export default class Params extends React.PureComponent { {showDeprecated && param.deprecatedKey && <div className="little-spacer-top"> - <code>{param.deprecatedKey}</code> + <code> + {param.deprecatedKey} + </code> </div>} {showDeprecated && @@ -89,34 +93,42 @@ export default class Params extends React.PureComponent { <div> <h4>Possible values</h4> <ul className="list-styled"> - {param.possibleValues.map(value => ( + {param.possibleValues.map(value => <li key={value} className="little-spacer-top"> - <code>{value}</code> + <code> + {value} + </code> </li> - ))} + )} </ul> </div>} {param.defaultValue && <div className="little-spacer-top"> <h4>Default value</h4> - <code>{param.defaultValue}</code> + <code> + {param.defaultValue} + </code> </div>} {param.exampleValue && <div className="little-spacer-top"> <h4>Example value</h4> - <code>{param.exampleValue}</code> + <code> + {param.exampleValue} + </code> </div>} {param.maxValuesAllowed != null && <div className="little-spacer-top"> <h4>Maximum allowed values</h4> - <code>{param.maxValuesAllowed}</code> + <code> + {param.maxValuesAllowed} + </code> </div>} </td> </tr> - ))} + )} </tbody> </table> </div> diff --git a/server/sonar-web/src/main/js/apps/web-api/components/ResponseExample.js b/server/sonar-web/src/main/js/apps/web-api/components/ResponseExample.js index 7f9c5869e7a..88bf4973bec 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/ResponseExample.js +++ b/server/sonar-web/src/main/js/apps/web-api/components/ResponseExample.js @@ -50,7 +50,10 @@ export default class ResponseExample extends React.PureComponent { return ( <div className="web-api-response"> - {responseExample && <pre style={{ whiteSpace: 'pre-wrap' }}>{responseExample.example}</pre>} + {responseExample && + <pre style={{ whiteSpace: 'pre-wrap' }}> + {responseExample.example} + </pre>} </div> ); } diff --git a/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.js b/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.js index 166babf4c99..a6dd2212369 100644 --- a/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.js +++ b/server/sonar-web/src/main/js/apps/web-api/components/WebApiApp.js @@ -148,7 +148,9 @@ export default class WebApiApp extends React.PureComponent { <div className="search-navigator-side search-navigator-side-light" style={{ top: 30 }}> <div className="web-api-page-header"> <Link to="/web_api/"> - <h1>{translate('api_documentation.page')}</h1> + <h1> + {translate('api_documentation.page')} + </h1> </Link> </div> diff --git a/server/sonar-web/src/main/js/apps/web-api/styles/web-api.css b/server/sonar-web/src/main/js/apps/web-api/styles/web-api.css index aa30002f3b3..121d9b55a35 100644 --- a/server/sonar-web/src/main/js/apps/web-api/styles/web-api.css +++ b/server/sonar-web/src/main/js/apps/web-api/styles/web-api.css @@ -32,7 +32,8 @@ line-height: 1.5; } -.web-api-domain-actions {} +.web-api-domain-actions { +} .web-api-action { padding-top: 30px; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.js b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.js index 0e70dfb09f9..7e301a6bae1 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.js @@ -24,9 +24,11 @@ import { receiveFavorites } from '../../store/favorites/duck'; const mapStateToProps = null; -const onReceiveComponent = ( - component: { key: string, canMarkAsFavorite: boolean, fav: boolean } -) => dispatch => { +const onReceiveComponent = (component: { + key: string, + canMarkAsFavorite: boolean, + fav: boolean +}) => dispatch => { if (component.canMarkAsFavorite) { const favorites = []; const notFavorites = []; diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.js b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.js index 87605714ffd..b8708d91d7f 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerCode.js @@ -66,7 +66,7 @@ export default class SourceViewerCode extends React.PureComponent { onLineClick: (SourceLine, HTMLElement) => void, onLocationSelect?: number => void, onSCMClick: (SourceLine, HTMLElement) => void, - onSymbolClick: Array<string> => void, + onSymbolClick: (Array<string>) => void, openIssuesByLine: { [number]: boolean }, scroll?: HTMLElement => void, selectedIssue: string | null, @@ -126,21 +126,21 @@ export default class SourceViewerCode extends React.PureComponent { optimizedHighlightedSymbols = undefined; } - const optimizedSelectedIssue = selectedIssue != null && - issuesForLine.find(issue => issue.key === selectedIssue) - ? selectedIssue - : null; + const optimizedSelectedIssue = + selectedIssue != null && issuesForLine.find(issue => issue.key === selectedIssue) + ? selectedIssue + : null; - const optimizedSecondaryIssueLocations = secondaryIssueLocations.length > 0 - ? secondaryIssueLocations - : EMPTY_ARRAY; + const optimizedSecondaryIssueLocations = + secondaryIssueLocations.length > 0 ? secondaryIssueLocations : EMPTY_ARRAY; - const optimizedLocationMessage = highlightedLocationMessage != null && + const optimizedLocationMessage = + highlightedLocationMessage != null && optimizedSecondaryIssueLocations.some( location => location.index === highlightedLocationMessage.index ) - ? highlightedLocationMessage - : undefined; + ? highlightedLocationMessage + : undefined; return ( <Line diff --git a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.js b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.js index 2e9922b91b1..0a0e2b3c21b 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.js @@ -99,11 +99,8 @@ export default class SourceViewerHeader extends React.PureComponent { </div>} <div className="component-name-path"> - <QualifierIcon qualifier={q} /> - {' '} - <span>{collapsedDirFromPath(path)}</span> + <QualifierIcon qualifier={q} /> <span>{collapsedDirFromPath(path)}</span> <span className="component-name-file">{fileFromPath(path)}</span> - {this.props.component.canMarkAsFavorite && <FavoriteContainer className="component-name-favorite" componentKey={key} />} </div> @@ -171,8 +168,7 @@ export default class SourceViewerHeader extends React.PureComponent { to={getComponentIssuesUrl(project, { resolved: 'false', fileUuids: uuid })} className="source-viewer-header-external-link" target="_blank"> - {measures.issues != null ? formatMeasure(measures.issues, 'SHORT_INT') : 0} - {' '} + {measures.issues != null ? formatMeasure(measures.issues, 'SHORT_INT') : 0}{' '} <i className="icon-detach" /> </Link> </span> diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/Line.js b/server/sonar-web/src/main/js/components/SourceViewer/components/Line.js index 7d44d23183f..664297c4774 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/Line.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/Line.js @@ -59,7 +59,7 @@ type Props = {| onIssuesClose: SourceLine => void, onLocationSelect?: number => void, onSCMClick: (SourceLine, HTMLElement) => void, - onSymbolClick: Array<string> => void, + onSymbolClick: (Array<string>) => void, openIssues: boolean, previousLine?: SourceLine, scroll?: HTMLElement => void, @@ -115,7 +115,7 @@ export default class Line extends React.PureComponent { {this.props.displayDuplications && <LineDuplications line={line} onClick={this.props.loadDuplications} />} - {times(duplicationsCount).map(index => ( + {times(duplicationsCount).map(index => <LineDuplicationBlock duplicated={duplications.includes(index)} index={index} @@ -123,7 +123,7 @@ export default class Line extends React.PureComponent { line={this.props.line} onClick={this.props.onDuplicationClick} /> - ))} + )} {this.props.displayIssues && !this.props.displayAllIssues && diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineCode.js b/server/sonar-web/src/main/js/components/SourceViewer/components/LineCode.js index 42df538cff2..1183a2b83b8 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineCode.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineCode.js @@ -38,7 +38,7 @@ type Props = {| onIssueChange: Issue => void, onIssueSelect: (issueKey: string) => void, onLocationSelect?: number => void, - onSymbolClick: Array<string> => void, + onSymbolClick: (Array<string>) => void, scroll?: HTMLElement => void, secondaryIssueLocations: Array<{ from: number, @@ -133,8 +133,13 @@ export default class LineCode extends React.PureComponent { const ref = message != null ? node => (this.activeMarkerNode = node) : undefined; return ( <LocationIndex key={`marker-${index}`} onClick={onClick} selected={message != null}> - <span href="#" ref={ref}>{index + 1}</span> - {message != null && <LocationMessage selected={true}>{message}</LocationMessage>} + <span href="#" ref={ref}> + {index + 1} + </span> + {message != null && + <LocationMessage selected={true}> + {message} + </LocationMessage>} </LocationIndex> ); } @@ -185,20 +190,26 @@ export default class LineCode extends React.PureComponent { tokens.forEach((token, index) => { if (token.markers.length > 0) { token.markers.forEach(marker => { - const message = highlightedLocationMessage != null && - highlightedLocationMessage.index === marker - ? highlightedLocationMessage.text - : null; + const message = + highlightedLocationMessage != null && highlightedLocationMessage.index === marker + ? highlightedLocationMessage.text + : null; renderedTokens.push(this.renderMarker(marker, message)); }); } - renderedTokens.push(<span className={token.className} key={index}>{token.text}</span>); + renderedTokens.push( + <span className={token.className} key={index}> + {token.text} + </span> + ); }); return ( <td className={className} data-line-number={line.line}> <div className="source-line-code-inner"> - <pre ref={node => (this.codeNode = node)}>{renderedTokens}</pre> + <pre ref={node => (this.codeNode = node)}> + {renderedTokens} + </pre> </div> {showIssues && issues.length > 0 && diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.js b/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.js index b7f1c2a176e..283dc54709a 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesIndicator.js @@ -55,7 +55,10 @@ export default class LineIssuesIndicator extends React.PureComponent { tabIndex={hasIssues ? '0' : undefined} onClick={hasIssues ? this.handleClick : undefined}> {mostImportantIssue != null && <SeverityIcon severity={mostImportantIssue.severity} />} - {issues.length > 1 && <span className="source-line-issues-counter">{issues.length}</span>} + {issues.length > 1 && + <span className="source-line-issues-counter"> + {issues.length} + </span>} </td> ); } diff --git a/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesList.js b/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesList.js index 97bc6e99501..64fd1202ca5 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesList.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/components/LineIssuesList.js @@ -37,7 +37,7 @@ export default class LineIssuesList extends React.PureComponent { return ( <div className="issue-list"> - {issues.map(issue => ( + {issues.map(issue => <Issue issue={issue} key={issue.key} @@ -45,7 +45,7 @@ export default class LineIssuesList extends React.PureComponent { onClick={onIssueClick} selected={selectedIssue === issue.key} /> - ))} + )} </div> ); } diff --git a/server/sonar-web/src/main/js/components/SourceViewer/helpers/highlight.js b/server/sonar-web/src/main/js/components/SourceViewer/helpers/highlight.js index 5aa34c09067..1666f781644 100644 --- a/server/sonar-web/src/main/js/components/SourceViewer/helpers/highlight.js +++ b/server/sonar-web/src/main/js/components/SourceViewer/helpers/highlight.js @@ -49,9 +49,9 @@ export const highlightSymbol = (tokens: Tokens, symbol: string): Tokens => { const symbolRegExp = new RegExp(`\\b${symbol}\\b`); return tokens.map( token => - (symbolRegExp.test(token.className) + symbolRegExp.test(token.className) ? { ...token, className: `${token.className} highlighted` } - : token) + : token ); }; @@ -104,14 +104,16 @@ export const highlightIssueLocations = ( nextTokens.push({ ...token, text: p1 }); } if (p2.length) { - const newClassName = token.className.indexOf(rootClassName) === -1 - ? `${token.className} ${rootClassName}` - : token.className; + const newClassName = + token.className.indexOf(rootClassName) === -1 + ? `${token.className} ${rootClassName}` + : token.className; nextTokens.push({ className: newClassName, - markers: !markerAdded && location.index != null - ? uniq([...token.markers, location.index]) - : token.markers, + markers: + !markerAdded && location.index != null + ? uniq([...token.markers, location.index]) + : token.markers, text: p2 }); markerAdded = true; diff --git a/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.js b/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.js index 260e7a5050e..e5ddd480076 100644 --- a/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.js +++ b/server/sonar-web/src/main/js/components/charts/AdvancedTimeline.js @@ -208,9 +208,10 @@ export default class AdvancedTimeline extends React.PureComponent { handleMouseOut = (evt: Event & { relatedTarget: HTMLElement }) => { const { updateTooltip } = this.props; - const targetClass = evt.relatedTarget && typeof evt.relatedTarget.className === 'string' - ? evt.relatedTarget.className - : ''; + const targetClass = + evt.relatedTarget && typeof evt.relatedTarget.className === 'string' + ? evt.relatedTarget.className + : ''; if ( !updateTooltip || targetClass.includes('bubble-popup') || @@ -269,7 +270,7 @@ export default class AdvancedTimeline extends React.PureComponent { return ( <g> - {ticks.map(tick => ( + {ticks.map(tick => <g key={tick}> {formatYTick != null && <text @@ -289,7 +290,7 @@ export default class AdvancedTimeline extends React.PureComponent { y2={yScale(tick)} /> </g> - ))} + )} </g> ); }; @@ -342,13 +343,13 @@ export default class AdvancedTimeline extends React.PureComponent { } return ( <g> - {this.props.series.map(serie => ( + {this.props.series.map(serie => <path key={serie.name} className={classNames('line-chart-path', 'line-chart-path-' + serie.style)} d={lineGenerator(serie.data)} /> - ))} + )} </g> ); }; @@ -364,13 +365,13 @@ export default class AdvancedTimeline extends React.PureComponent { } return ( <g> - {this.props.series.map(serie => ( + {this.props.series.map(serie => <path key={serie.name} className={classNames('line-chart-area', 'line-chart-area-' + serie.style)} d={areaGenerator(serie.data)} /> - ))} + )} </g> ); }; @@ -387,14 +388,14 @@ export default class AdvancedTimeline extends React.PureComponent { const offset = eventSize / 2; return ( <g> - {inRangeEvents.map((event, idx) => ( + {inRangeEvents.map((event, idx) => <path d={this.getEventMarker(eventSize)} className={classNames('line-chart-event', event.className)} key={`${idx}-${event.date.getTime()}`} transform={`translate(${xScale(event.date) - offset}, ${yScale.range()[0] + offset})`} /> - ))} + )} </g> ); }; diff --git a/server/sonar-web/src/main/js/components/charts/BubbleChart.js b/server/sonar-web/src/main/js/components/charts/BubbleChart.js index 2d740b2dfe5..a17e603b151 100644 --- a/server/sonar-web/src/main/js/components/charts/BubbleChart.js +++ b/server/sonar-web/src/main/js/components/charts/BubbleChart.js @@ -38,7 +38,7 @@ export class Bubble extends React.PureComponent { props: { color?: string, link?: string, - onClick: ?string => void, + onClick: (?string) => void, r: number, tooltip?: string, x: number, @@ -74,10 +74,20 @@ export class Bubble extends React.PureComponent { ); if (this.props.link && !this.props.onClick) { - circle = <Link to={this.props.link}>{circle}</Link>; + circle = ( + <Link to={this.props.link}> + {circle} + </Link> + ); } - return this.props.tooltip ? <TooltipsContainer><g>{circle}</g></TooltipsContainer> : circle; + return this.props.tooltip + ? <TooltipsContainer> + <g> + {circle} + </g> + </TooltipsContainer> + : circle; } } @@ -101,7 +111,7 @@ export default class BubbleChart extends React.PureComponent { padding: [number, number, number, number], formatXTick: number => string, formatYTick: number => string, - onBubbleClick?: ?string => void, + onBubbleClick?: (?string) => void, xDomain?: [number, number], yDomain?: [number, number] |}; @@ -152,7 +162,11 @@ export default class BubbleChart extends React.PureComponent { return <line key={index} x1={x} x2={x} y1={y1} y2={y2} className="bubble-chart-grid" />; }); - return <g ref="xGrid">{lines}</g>; + return ( + <g ref="xGrid"> + {lines} + </g> + ); } renderYGrid(ticks: Array<number>, xScale: Scale, yScale: Scale) { @@ -167,7 +181,11 @@ export default class BubbleChart extends React.PureComponent { return <line key={index} x1={x1} x2={x2} y1={y} y2={y} className="bubble-chart-grid" />; }); - return <g ref="yGrid">{lines}</g>; + return ( + <g ref="yGrid"> + {lines} + </g> + ); } renderXTicks(xTicks: Array<number>, xScale: Scale, yScale: Scale) { @@ -186,7 +204,11 @@ export default class BubbleChart extends React.PureComponent { ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); } renderYTicks(yTicks: Array<number>, xScale: Scale, yScale: Scale) { @@ -211,7 +233,11 @@ export default class BubbleChart extends React.PureComponent { ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); } renderChart(width: number) { diff --git a/server/sonar-web/src/main/js/components/charts/Timeline.js b/server/sonar-web/src/main/js/components/charts/Timeline.js index 080d08c3b9a..f8c5568df02 100644 --- a/server/sonar-web/src/main/js/components/charts/Timeline.js +++ b/server/sonar-web/src/main/js/components/charts/Timeline.js @@ -114,7 +114,11 @@ const Timeline = React.createClass({ ); }); - return <g>{grid}</g>; + return ( + <g> + {grid} + </g> + ); }, renderTicks(xScale, yScale) { @@ -133,7 +137,11 @@ const Timeline = React.createClass({ ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); }, renderLeak(xScale, yScale) { @@ -191,7 +199,11 @@ const Timeline = React.createClass({ /> ); }); - return <g>{points}</g>; + return ( + <g> + {points} + </g> + ); }, render() { if (!this.state.width || !this.state.height) { diff --git a/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.js b/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.js index 81ad1921a0e..f7693b06485 100644 --- a/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.js +++ b/server/sonar-web/src/main/js/components/charts/ZoomTimeLine.js @@ -159,12 +159,14 @@ export default class ZoomTimeLine extends React.PureComponent { handleZoomUpdate = (xScale: Scale, xArray: Array<number>) => { const xRange = xScale.range(); - const startDate = xArray[0] > xRange[0] && xArray[0] < xRange[xRange.length - 1] - ? xScale.invert(xArray[0]) - : null; - const endDate = xArray[1] > xRange[0] && xArray[1] < xRange[xRange.length - 1] - ? xScale.invert(xArray[1]) - : null; + const startDate = + xArray[0] > xRange[0] && xArray[0] < xRange[xRange.length - 1] + ? xScale.invert(xArray[0]) + : null; + const endDate = + xArray[1] > xRange[0] && xArray[1] < xRange[xRange.length - 1] + ? xScale.invert(xArray[1]) + : null; if (this.props.startDate !== startDate || this.props.endDate !== endDate) { this.props.updateZoom(startDate, endDate); } @@ -227,13 +229,13 @@ export default class ZoomTimeLine extends React.PureComponent { } return ( <g> - {this.props.series.map((serie, idx) => ( + {this.props.series.map((serie, idx) => <path key={`${idx}-${serie.name}`} className={classNames('line-chart-path', 'line-chart-path-' + serie.style)} d={lineGenerator(serie.data)} /> - ))} + )} </g> ); }; @@ -249,27 +251,25 @@ export default class ZoomTimeLine extends React.PureComponent { } return ( <g> - {this.props.series.map((serie, idx) => ( + {this.props.series.map((serie, idx) => <path key={`${idx}-${serie.name}`} className={classNames('line-chart-area', 'line-chart-area-' + serie.style)} d={areaGenerator(serie.data)} /> - ))} + )} </g> ); }; - renderZoomHandle = ( - options: { - xScale: Scale, - xPos: number, - fixedPos: number, - yDim: Array<number>, - xDim: Array<number>, - direction: string - } - ) => ( + renderZoomHandle = (options: { + xScale: Scale, + xPos: number, + fixedPos: number, + yDim: Array<number>, + xDim: Array<number>, + direction: string + }) => <Draggable axis="x" bounds={{ left: options.xDim[0], right: options.xDim[1] }} @@ -294,8 +294,7 @@ export default class ZoomTimeLine extends React.PureComponent { height={options.yDim[0] - options.yDim[1]} width={6} /> - </Draggable> - ); + </Draggable>; renderZoom = (xScale: Scale, yScale: Scale) => { const xRange = xScale.range(); diff --git a/server/sonar-web/src/main/js/components/charts/bar-chart.js b/server/sonar-web/src/main/js/components/charts/bar-chart.js index 95b3fd32dd7..1d89adb5475 100644 --- a/server/sonar-web/src/main/js/components/charts/bar-chart.js +++ b/server/sonar-web/src/main/js/components/charts/bar-chart.js @@ -80,7 +80,11 @@ export const BarChart = React.createClass({ </text> ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); }, renderXValues(xScale, yScale) { @@ -111,7 +115,11 @@ export const BarChart = React.createClass({ </text> ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); }, renderBars(xScale, yScale) { @@ -139,7 +147,11 @@ export const BarChart = React.createClass({ /> ); }); - return <g>{bars}</g>; + return ( + <g> + {bars} + </g> + ); }, render() { diff --git a/server/sonar-web/src/main/js/components/charts/histogram.js b/server/sonar-web/src/main/js/components/charts/histogram.js index de0d72efa04..c7542b3a0de 100644 --- a/server/sonar-web/src/main/js/components/charts/histogram.js +++ b/server/sonar-web/src/main/js/components/charts/histogram.js @@ -80,7 +80,11 @@ export const Histogram = React.createClass({ </text> ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); }, renderValues(xScale, yScale) { @@ -105,7 +109,11 @@ export const Histogram = React.createClass({ </text> ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); }, renderBars(xScale, yScale) { @@ -125,7 +133,11 @@ export const Histogram = React.createClass({ /> ); }); - return <g>{bars}</g>; + return ( + <g> + {bars} + </g> + ); }, render() { diff --git a/server/sonar-web/src/main/js/components/charts/line-chart.js b/server/sonar-web/src/main/js/components/charts/line-chart.js index f230a6ea48f..1b574db1216 100644 --- a/server/sonar-web/src/main/js/components/charts/line-chart.js +++ b/server/sonar-web/src/main/js/components/charts/line-chart.js @@ -83,7 +83,11 @@ export const LineChart = React.createClass({ const y = yScale(point.y); return <circle key={index} className="line-chart-point" r="3" cx={x} cy={y} />; }); - return <g>{points}</g>; + return ( + <g> + {points} + </g> + ); }, renderVerticalGrid(xScale, yScale) { @@ -96,7 +100,11 @@ export const LineChart = React.createClass({ const y2 = yScale(point.y); return <line key={index} className="line-chart-grid" x1={x} x2={x} y1={y1} y2={y2} />; }); - return <g>{lines}</g>; + return ( + <g> + {lines} + </g> + ); }, renderXTicks(xScale, yScale) { @@ -107,9 +115,17 @@ export const LineChart = React.createClass({ const point = this.props.data[index]; const x = xScale(point.x); const y = yScale.range()[0]; - return <text key={index} className="line-chart-tick" x={x} y={y} dy="1.5em">{tick}</text>; + return ( + <text key={index} className="line-chart-tick" x={x} y={y} dy="1.5em"> + {tick} + </text> + ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); }, renderXValues(xScale, yScale) { @@ -120,9 +136,17 @@ export const LineChart = React.createClass({ const point = this.props.data[index]; const x = xScale(point.x); const y = yScale(point.y); - return <text key={index} className="line-chart-tick" x={x} y={y} dy="-1em">{value}</text>; + return ( + <text key={index} className="line-chart-tick" x={x} y={y} dy="-1em"> + {value} + </text> + ); }); - return <g>{ticks}</g>; + return ( + <g> + {ticks} + </g> + ); }, renderLine(xScale, yScale) { diff --git a/server/sonar-web/src/main/js/components/charts/treemap-breadcrumbs.js b/server/sonar-web/src/main/js/components/charts/treemap-breadcrumbs.js index aeaab7525c0..3e23cb080ac 100644 --- a/server/sonar-web/src/main/js/components/charts/treemap-breadcrumbs.js +++ b/server/sonar-web/src/main/js/components/charts/treemap-breadcrumbs.js @@ -54,7 +54,9 @@ export class TreemapBreadcrumbs extends React.PureComponent { <span key={b.key} className="treemap-breadcrumbs-item" title={b.name}> <i className="icon-chevron-right" /> <QualifierIcon qualifier={b.qualifier} /> - <a onClick={this.handleItemClick.bind(this, b)} href="#">{b.name}</a> + <a onClick={this.handleItemClick.bind(this, b)} href="#"> + {b.name} + </a> </span> ); }; diff --git a/server/sonar-web/src/main/js/components/charts/word-cloud.js b/server/sonar-web/src/main/js/components/charts/word-cloud.js index b3ea398c8cc..021b5bcba59 100644 --- a/server/sonar-web/src/main/js/components/charts/word-cloud.js +++ b/server/sonar-web/src/main/js/components/charts/word-cloud.js @@ -71,7 +71,7 @@ export const WordCloud = React.createClass({ const sizeScale = scaleLinear() .domain([0, max(this.props.items, d => d.size)]) .range(this.props.sizeRange); - const words = sortedItems.map((item, index) => ( + const words = sortedItems.map((item, index) => <Word key={index} text={item.text} @@ -79,7 +79,11 @@ export const WordCloud = React.createClass({ link={item.link} tooltip={item.tooltip} /> - )); - return <div className="word-cloud">{words}</div>; + ); + return ( + <div className="word-cloud"> + {words} + </div> + ); } }); diff --git a/server/sonar-web/src/main/js/components/common/BubblePopupHelper.js b/server/sonar-web/src/main/js/components/common/BubblePopupHelper.js index 81923c806ba..9a6b17f561e 100644 --- a/server/sonar-web/src/main/js/components/common/BubblePopupHelper.js +++ b/server/sonar-web/src/main/js/components/common/BubblePopupHelper.js @@ -30,7 +30,7 @@ type Props = { }, popup: Object, position: 'bottomleft' | 'bottomright', - togglePopup: ?boolean => void + togglePopup: (?boolean) => void }; type State = { diff --git a/server/sonar-web/src/main/js/components/common/EmptySearch.js b/server/sonar-web/src/main/js/components/common/EmptySearch.js index 719a2239c90..8a426f4474c 100644 --- a/server/sonar-web/src/main/js/components/common/EmptySearch.js +++ b/server/sonar-web/src/main/js/components/common/EmptySearch.js @@ -22,11 +22,14 @@ import React from 'react'; import { translate } from '../../helpers/l10n'; import './EmptySearch.css'; -const EmptySearch = () => ( +const EmptySearch = () => <div className="empty-search"> - <h3>{translate('no_results_search')}</h3> - <p className="big-spacer-top">{translate('no_results_search.2')}</p> - </div> -); + <h3> + {translate('no_results_search')} + </h3> + <p className="big-spacer-top"> + {translate('no_results_search.2')} + </p> + </div>; export default EmptySearch; diff --git a/server/sonar-web/src/main/js/components/common/FavoriteIcon.js b/server/sonar-web/src/main/js/components/common/FavoriteIcon.js index 98157aa9e5d..5d16a8d4b70 100644 --- a/server/sonar-web/src/main/js/components/common/FavoriteIcon.js +++ b/server/sonar-web/src/main/js/components/common/FavoriteIcon.js @@ -31,7 +31,11 @@ export default function FavoriteIcon(props: Props) { /* eslint max-len: 0 */ return ( <span - className={classNames('icon-star', { 'icon-star-favorite': props.favorite }, props.className)}> + className={classNames( + 'icon-star', + { 'icon-star-favorite': props.favorite }, + props.className + )}> <svg width={props.size} height={props.size} viewBox="0 0 16 16"> <path d="M15.4275,5.77678C15.4275,5.90773 15.3501,6.05059 15.1953,6.20536L11.9542,9.36608L12.7221,13.8304C12.728,13.872 12.731,13.9316 12.731,14.0089C12.731,14.1339 12.6998,14.2396 12.6373,14.3259C12.5748,14.4122 12.484,14.4554 12.3649,14.4554C12.2518,14.4554 12.1328,14.4197 12.0078,14.3482L7.99888,12.2411L3.98995,14.3482C3.85901,14.4197 3.73996,14.4554 3.63281,14.4554C3.50781,14.4554 3.41406,14.4122 3.35156,14.3259C3.28906,14.2396 3.25781,14.1339 3.25781,14.0089C3.25781,13.9732 3.26377,13.9137 3.27567,13.8304L4.04353,9.36608L0.793531,6.20536C0.644719,6.04464 0.570313,5.90178 0.570313,5.77678C0.570313,5.55654 0.736979,5.41964 1.07031,5.36606L5.55245,4.71428L7.56138,0.651781C7.67447,0.407729 7.8203,0.285703 7.99888,0.285703C8.17745,0.285703 8.32328,0.407729 8.43638,0.651781L10.4453,4.71428L14.9274,5.36606C15.2608,5.41964 15.4274,5.55654 15.4274,5.77678L15.4275,5.77678Z" /> </svg> diff --git a/server/sonar-web/src/main/js/components/common/MarkdownTips.js b/server/sonar-web/src/main/js/components/common/MarkdownTips.js index 8c5db3a8fe1..323838e06c5 100644 --- a/server/sonar-web/src/main/js/components/common/MarkdownTips.js +++ b/server/sonar-web/src/main/js/components/common/MarkdownTips.js @@ -35,9 +35,15 @@ export default class MarkdownTips extends React.PureComponent { {translate('markdown.helplink')} </a> {':'} - <span className="spacer-left">*{translate('bold')}*</span> - <span className="spacer-left">``{translate('code')}``</span> - <span className="spacer-left">* {translate('bulleted_point')}</span> + <span className="spacer-left"> + *{translate('bold')}* + </span> + <span className="spacer-left"> + ``{translate('code')}`` + </span> + <span className="spacer-left"> + * {translate('bulleted_point')} + </span> </div> ); } diff --git a/server/sonar-web/src/main/js/components/common/MultiSelect.js b/server/sonar-web/src/main/js/components/common/MultiSelect.js index 2c75904d706..5e618e45e1f 100644 --- a/server/sonar-web/src/main/js/components/common/MultiSelect.js +++ b/server/sonar-web/src/main/js/components/common/MultiSelect.js @@ -242,7 +242,7 @@ export default class MultiSelect extends React.PureComponent { </div> <ul className="menu"> {selectedElements.length > 0 && - selectedElements.map(element => ( + selectedElements.map(element => <MultiSelectOption key={element} element={element} @@ -251,9 +251,9 @@ export default class MultiSelect extends React.PureComponent { onSelectChange={this.handleSelectChange} onHover={this.handleElementHover} /> - ))} + )} {unselectedElements.length > 0 && - unselectedElements.map(element => ( + unselectedElements.map(element => <MultiSelectOption key={element} element={element} @@ -261,7 +261,7 @@ export default class MultiSelect extends React.PureComponent { onSelectChange={this.handleSelectChange} onHover={this.handleElementHover} /> - ))} + )} {this.isNewElement(query, this.props) && <MultiSelectOption key={query} diff --git a/server/sonar-web/src/main/js/components/common/MultiSelectOption.js b/server/sonar-web/src/main/js/components/common/MultiSelectOption.js index 02291254fc1..c9fb52632eb 100644 --- a/server/sonar-web/src/main/js/components/common/MultiSelectOption.js +++ b/server/sonar-web/src/main/js/components/common/MultiSelectOption.js @@ -64,7 +64,8 @@ export default class MultiSelectOption extends React.PureComponent { onClick={this.handleSelect} onMouseOver={this.handleHover} onFocus={this.handleHover}> - <i className={className} />{' '}{this.props.custom && '+ '}{this.props.element} + <i className={className} /> {this.props.custom && '+ '} + {this.props.element} </a> </li> ); diff --git a/server/sonar-web/src/main/js/components/common/SelectList.js b/server/sonar-web/src/main/js/components/common/SelectList.js index cbfadc9307a..d4096080c66 100644 --- a/server/sonar-web/src/main/js/components/common/SelectList.js +++ b/server/sonar-web/src/main/js/components/common/SelectList.js @@ -144,7 +144,7 @@ export default class SelectList extends React.PureComponent { }) )} {!hasChildren && - this.props.items.map(item => ( + this.props.items.map(item => <SelectListItem active={this.state.active} item={item} @@ -152,7 +152,7 @@ export default class SelectList extends React.PureComponent { onHover={this.handleHover} onSelect={this.handleSelect} /> - ))} + )} </ul> ); } diff --git a/server/sonar-web/src/main/js/components/common/UpgradeOrganizationBox.js b/server/sonar-web/src/main/js/components/common/UpgradeOrganizationBox.js index 0a521fd2391..eceab041969 100644 --- a/server/sonar-web/src/main/js/components/common/UpgradeOrganizationBox.js +++ b/server/sonar-web/src/main/js/components/common/UpgradeOrganizationBox.js @@ -30,9 +30,13 @@ type Props = { export default function UpgradeOrganizationBox(props: Props) { return ( <div className="boxed-group boxed-group-inner upgrade-organization-box"> - <h3 className="spacer-bottom">{translate('billing.upgrade_box.header')}</h3> + <h3 className="spacer-bottom"> + {translate('billing.upgrade_box.header')} + </h3> - <p>{translate('billing.upgrade_box.text')}</p> + <p> + {translate('billing.upgrade_box.text')} + </p> {hasMessage('billing.upgrade_box.button') && <div className="big-spacer-top"> diff --git a/server/sonar-web/src/main/js/components/common/VisibilitySelector.js b/server/sonar-web/src/main/js/components/common/VisibilitySelector.js index 08f204e48ab..dd35ad56609 100644 --- a/server/sonar-web/src/main/js/components/common/VisibilitySelector.js +++ b/server/sonar-web/src/main/js/components/common/VisibilitySelector.js @@ -57,7 +57,9 @@ export default class VisibilitySelector extends React.PureComponent { 'is-checked': this.props.visibility === 'public' })} /> - <span className="spacer-left">{translate('visibility.public')}</span> + <span className="spacer-left"> + {translate('visibility.public')} + </span> </a> {this.props.canTurnToPrivate @@ -71,7 +73,9 @@ export default class VisibilitySelector extends React.PureComponent { 'is-checked': this.props.visibility === 'private' })} /> - <span className="spacer-left">{translate('visibility.private')}</span> + <span className="spacer-left"> + {translate('visibility.private')} + </span> </a> : <span className="huge-spacer-left text-muted cursor-not-allowed" @@ -81,7 +85,9 @@ export default class VisibilitySelector extends React.PureComponent { 'is-checked': this.props.visibility === 'private' })} /> - <span className="spacer-left">{translate('visibility.private')}</span> + <span className="spacer-left"> + {translate('visibility.private')} + </span> </span>} </div> ); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/BubblePopup-test.js b/server/sonar-web/src/main/js/components/common/__tests__/BubblePopup-test.js index add930864e5..f9b67ca38b3 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/BubblePopup-test.js +++ b/server/sonar-web/src/main/js/components/common/__tests__/BubblePopup-test.js @@ -27,6 +27,10 @@ const props = { }; it('should render popup', () => { - const popup = shallow(<BubblePopup {...props}><span>test</span></BubblePopup>); + const popup = shallow( + <BubblePopup {...props}> + <span>test</span> + </BubblePopup> + ); expect(popup).toMatchSnapshot(); }); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/DeferredSpinner-test.js b/server/sonar-web/src/main/js/components/common/__tests__/DeferredSpinner-test.js index 62d755cc949..560c705c4cb 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/DeferredSpinner-test.js +++ b/server/sonar-web/src/main/js/components/common/__tests__/DeferredSpinner-test.js @@ -38,14 +38,22 @@ it('add custom className', () => { }); it('renders children before timeout', () => { - const spinner = mount(<DeferredSpinner><div>foo</div></DeferredSpinner>); + const spinner = mount( + <DeferredSpinner> + <div>foo</div> + </DeferredSpinner> + ); expect(spinner).toMatchSnapshot(); jest.runAllTimers(); expect(spinner).toMatchSnapshot(); }); it('is controlled by loading prop', () => { - const spinner = mount(<DeferredSpinner loading={false}><div>foo</div></DeferredSpinner>); + const spinner = mount( + <DeferredSpinner loading={false}> + <div>foo</div> + </DeferredSpinner> + ); expect(spinner).toMatchSnapshot(); spinner.setProps({ loading: true }); expect(spinner).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.js b/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.js index 58afbecad26..817f852d023 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.js +++ b/server/sonar-web/src/main/js/components/common/__tests__/SelectList-test.js @@ -42,11 +42,11 @@ it('should render correctly with children', () => { expect( shallow( <SelectList items={items} currentItem="seconditem" onSelect={onSelect}> - {items.map(item => ( + {items.map(item => <SelectListItem key={item} item={item}> <i className="myicon" />item </SelectListItem> - ))} + )} </SelectList> ) ).toMatchSnapshot(); @@ -57,11 +57,11 @@ it('should correclty handle user actions', () => { const items = ['item', 'seconditem', 'third']; const list = mount( <SelectList items={items} currentItem="seconditem" onSelect={onSelect}> - {items.map(item => ( + {items.map(item => <SelectListItem key={item} item={item}> <i className="myicon" />item </SelectListItem> - ))} + )} </SelectList> ); keydown(40); diff --git a/server/sonar-web/src/main/js/components/common/__tests__/SelectListItem-test.js b/server/sonar-web/src/main/js/components/common/__tests__/SelectListItem-test.js index 235be5bfae6..6e839b45e6e 100644 --- a/server/sonar-web/src/main/js/components/common/__tests__/SelectListItem-test.js +++ b/server/sonar-web/src/main/js/components/common/__tests__/SelectListItem-test.js @@ -29,7 +29,8 @@ it('should render correctly with children', () => { expect( shallow( <SelectListItem active="myitem" item="seconditem"> - <i className="custom-icon" /><p>seconditem</p> + <i className="custom-icon" /> + <p>seconditem</p> </SelectListItem> ) ).toMatchSnapshot(); diff --git a/server/sonar-web/src/main/js/components/controls/RadioToggle.js b/server/sonar-web/src/main/js/components/controls/RadioToggle.js index 8725c67a1b3..83f36d2d846 100644 --- a/server/sonar-web/src/main/js/components/controls/RadioToggle.js +++ b/server/sonar-web/src/main/js/components/controls/RadioToggle.js @@ -61,7 +61,9 @@ export default class RadioToggle extends React.PureComponent { onChange={this.handleChange} /> - <label htmlFor={htmlId}>{option.label}</label> + <label htmlFor={htmlId}> + {option.label} + </label> </li> ); } diff --git a/server/sonar-web/src/main/js/components/controls/styles.css b/server/sonar-web/src/main/js/components/controls/styles.css index b67f7f5eb71..3b4e315805b 100644 --- a/server/sonar-web/src/main/js/components/controls/styles.css +++ b/server/sonar-web/src/main/js/components/controls/styles.css @@ -55,7 +55,7 @@ border-radius: 22px; box-sizing: border-box; background-color: #f6f6f6; - transition: transform 0.3s cubic-bezier(.87,-.41,.19,1.44), border 0.3s ease; + transition: transform 0.3s cubic-bezier(.87, -.41, .19, 1.44), border 0.3s ease; } .boolean-toggle-on { diff --git a/server/sonar-web/src/main/js/components/issue/IssueView.js b/server/sonar-web/src/main/js/components/issue/IssueView.js index a22fdfc432a..edcd1e32a42 100644 --- a/server/sonar-web/src/main/js/components/issue/IssueView.js +++ b/server/sonar-web/src/main/js/components/issue/IssueView.js @@ -102,14 +102,14 @@ export default class IssueView extends React.PureComponent { {issue.comments && issue.comments.length > 0 && <div className="issue-comments"> - {issue.comments.map(comment => ( + {issue.comments.map(comment => <IssueCommentLine comment={comment} key={comment.key} onEdit={this.editComment} onDelete={this.deleteComment} /> - ))} + )} </div>} <a className="issue-navigate js-issue-navigate"> <i className="issue-navigate-to-left icon-chevron-left" /> diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.js b/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.js index d3a91a9dc18..8c582920d3e 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueChangelog.js @@ -56,7 +56,9 @@ export default class IssueChangelog extends React.PureComponent { className="button-link issue-action issue-action-with-options js-issue-show-changelog" title={momentCreationDate.format('LLL')} onClick={this.handleClick}> - <span className="issue-meta-label">{momentCreationDate.fromNow()}</span> + <span className="issue-meta-label"> + {momentCreationDate.fromNow()} + </span> <i className="icon-dropdown little-spacer-left" /> </button> </BubblePopupHelper> diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.js b/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.js index 4006a140956..bfe753329e3 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueChangelogDiff.js @@ -67,5 +67,9 @@ export default function IssueChangelogDiff(props: { diff: ChangelogDiff }) { } message += ` (${translateWithParameters('issue.changelog.was', oldValue)})`; } - return <p>{message}</p>; + return ( + <p> + {message} + </p> + ); } diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js b/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js index aa37ea0873b..1ad62e60eb6 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.js @@ -84,7 +84,9 @@ export default class IssueCommentLine extends React.PureComponent { className="issue-comment-text markdown" dangerouslySetInnerHTML={{ __html: comment.htmlText }} /> - <div className="issue-comment-age">({moment(comment.createdAt).fromNow()})</div> + <div className="issue-comment-age"> + ({moment(comment.createdAt).fromNow()}) + </div> <div className="issue-comment-actions"> {comment.updatable && <BubblePopupHelper diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js b/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js index 507328bcb2c..bca586eadd2 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js @@ -55,7 +55,9 @@ export default function IssueTitleBar(props: Props) { formatMeasure(locationsCount) )} placement="left"> - <LocationIndex>{locationsCount}</LocationIndex> + <LocationIndex> + {locationsCount} + </LocationIndex> </Tooltip> ); diff --git a/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.js b/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.js index d49abfa8939..f7086c8018d 100644 --- a/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.js +++ b/server/sonar-web/src/main/js/components/issue/components/SimilarIssuesFilter.js @@ -60,8 +60,7 @@ export default class SimilarIssuesFilter extends React.PureComponent { className="js-issue-filter button-link issue-action issue-action-with-options" aria-label={translate('issue.filter_similar_issues')} onClick={this.handleClick}> - <i className="icon-filter icon-half-transparent" />{' '} - <i className="icon-dropdown" /> + <i className="icon-filter icon-half-transparent" /> <i className="icon-dropdown" /> </button> </BubblePopupHelper> ); diff --git a/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.js b/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.js index 7551e9869db..735411774cf 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.js +++ b/server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.js @@ -87,7 +87,7 @@ export default class ChangelogPopup extends React.PureComponent { </td> </tr> - {this.state.changelogs.map((item, idx) => ( + {this.state.changelogs.map((item, idx) => <tr key={idx}> <td className="thin text-left text-top nowrap"> {moment(item.creationDate).format('LLL')} @@ -106,7 +106,7 @@ export default class ChangelogPopup extends React.PureComponent { {item.diffs.map(diff => <IssueChangelogDiff key={diff.key} diff={diff} />)} </td> </tr> - ))} + )} </tbody> </table> </div> diff --git a/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.js b/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.js index 3e06c95c07d..23a2dc4c154 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.js +++ b/server/sonar-web/src/main/js/components/issue/popups/CommentDeletePopup.js @@ -31,8 +31,12 @@ export default function CommentDeletePopup(props: Props) { return ( <BubblePopup position={props.popupPosition} customClass="bubble-popup-bottom-right"> <div className="text-right"> - <div className="spacer-bottom">{translate('issue.comment.delete_confirm_message')}</div> - <button className="button-red" onClick={props.onDelete}>{translate('delete')}</button> + <div className="spacer-bottom"> + {translate('issue.comment.delete_confirm_message')} + </div> + <button className="button-red" onClick={props.onDelete}> + {translate('delete')} + </button> </div> </BubblePopup> ); diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.js b/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.js index 9a4243e65ad..7a6bdc6107d 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.js +++ b/server/sonar-web/src/main/js/components/issue/popups/SetAssigneePopup.js @@ -139,7 +139,7 @@ export default class SetAssigneePopup extends React.PureComponent { items={map(this.state.users, 'login')} currentItem={this.state.currentUser} onSelect={this.props.onSelect}> - {this.state.users.map(user => ( + {this.state.users.map(user => <SelectListItem key={user.login} item={user.login}> {!!user.login && <Avatar @@ -155,7 +155,7 @@ export default class SetAssigneePopup extends React.PureComponent { {user.name} </span> </SelectListItem> - ))} + )} </SelectList> </div> </BubblePopup> diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.js b/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.js index ca155303323..6a5a8150b23 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.js +++ b/server/sonar-web/src/main/js/components/issue/popups/SetIssueTagsPopup.js @@ -27,7 +27,7 @@ type Props = { popupPosition?: {}, onFail: Error => void, selectedTags: Array<string>, - setTags: Array<string> => void + setTags: (Array<string>) => void }; type State = { diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.js b/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.js index be89f2120b9..bc5969532be 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.js +++ b/server/sonar-web/src/main/js/components/issue/popups/SetSeverityPopup.js @@ -46,12 +46,12 @@ export default class SetSeverityPopup extends React.PureComponent { items={SEVERITY} currentItem={this.props.issue.severity} onSelect={this.props.onSelect}> - {SEVERITY.map(severity => ( + {SEVERITY.map(severity => <SelectListItem key={severity} item={severity}> <SeverityIcon className="little-spacer-right" severity={severity} /> {translate('severity', severity)} </SelectListItem> - ))} + )} </SelectList> </BubblePopup> ); diff --git a/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.js b/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.js index 1f1864307a7..64e780fdbbe 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.js +++ b/server/sonar-web/src/main/js/components/issue/popups/SetTypePopup.js @@ -46,12 +46,12 @@ export default class SetTypePopup extends React.PureComponent { items={TYPES} currentItem={this.props.issue.type} onSelect={this.props.onSelect}> - {TYPES.map(type => ( + {TYPES.map(type => <SelectListItem key={type} item={type}> <IssueTypeIcon className="little-spacer-right" query={type} /> {translate('issue.type', type)} </SelectListItem> - ))} + )} </SelectList> </BubblePopup> ); diff --git a/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.js b/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.js index 3281838da05..e6dddbc21ff 100644 --- a/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.js +++ b/server/sonar-web/src/main/js/components/issue/popups/SimilarIssuesPopup.js @@ -66,7 +66,9 @@ export default class SimilarIssuesPopup extends React.PureComponent { position={this.props.popupPosition} customClass="bubble-popup-menu bubble-popup-bottom-right"> <header className="menu-search"> - <h6>{translate('issue.filter_similar_issues')}</h6> + <h6> + {translate('issue.filter_similar_issues')} + </h6> </header> <SelectList currentItem={items[0]} items={items} onSelect={this.handleSelect}> @@ -109,12 +111,12 @@ export default class SimilarIssuesPopup extends React.PureComponent { </SelectListItem> {issue.tags != null && - issue.tags.map(tag => ( + issue.tags.map(tag => <SelectListItem key={`tag###${tag}`} item={`tag###${tag}`}> <i className="icon-tags icon-half-transparent little-spacer-right" /> {tag} </SelectListItem> - ))} + )} <SelectListItem item="project"> <QualifierIcon className="little-spacer-right" qualifier="TRK" /> diff --git a/server/sonar-web/src/main/js/components/select-list/footer.js b/server/sonar-web/src/main/js/components/select-list/footer.js index 01c050650b9..3088c2f2337 100644 --- a/server/sonar-web/src/main/js/components/select-list/footer.js +++ b/server/sonar-web/src/main/js/components/select-list/footer.js @@ -36,7 +36,11 @@ export default class Footer extends React.PureComponent { if (!hasMore) { return null; } - return <a onClick={this.loadMore} className="spacer-left" href="#">show more</a>; + return ( + <a onClick={this.loadMore} className="spacer-left" href="#"> + show more + </a> + ); }; render() { diff --git a/server/sonar-web/src/main/js/components/select-list/list.js b/server/sonar-web/src/main/js/components/select-list/list.js index 22462d40ee5..6a701f51eb4 100644 --- a/server/sonar-web/src/main/js/components/select-list/list.js +++ b/server/sonar-web/src/main/js/components/select-list/list.js @@ -34,6 +34,10 @@ export default class List extends React.PureComponent { const key = this.props.getItemKey(item); return <Item key={key} {...this.props} item={item} />; }); - return <ul>{renderedItems}</ul>; + return ( + <ul> + {renderedItems} + </ul> + ); } } diff --git a/server/sonar-web/src/main/js/components/shared/StatusHelper.js b/server/sonar-web/src/main/js/components/shared/StatusHelper.js index 07d7b81386b..a355348f720 100644 --- a/server/sonar-web/src/main/js/components/shared/StatusHelper.js +++ b/server/sonar-web/src/main/js/components/shared/StatusHelper.js @@ -22,9 +22,11 @@ import React from 'react'; import StatusIcon from './StatusIcon'; import { translate } from '../../helpers/l10n'; -export default function StatusHelper( - props: { resolution?: string, status: string, className?: string } -) { +export default function StatusHelper(props: { + resolution?: string, + status: string, + className?: string +}) { const resolution = props.resolution != null && ` (${translate('issue.resolution', props.resolution)})`; return ( diff --git a/server/sonar-web/src/main/js/components/shared/TypeHelper.js b/server/sonar-web/src/main/js/components/shared/TypeHelper.js index f984e4f4e66..030337e5242 100644 --- a/server/sonar-web/src/main/js/components/shared/TypeHelper.js +++ b/server/sonar-web/src/main/js/components/shared/TypeHelper.js @@ -26,11 +26,10 @@ type Props = { type: string }; -const TypeHelper = (props: Props) => ( +const TypeHelper = (props: Props) => <span> <IssueTypeIcon className="little-spacer-right" query={props.type} /> {translate('issue.type', props.type)} - </span> -); + </span>; export default TypeHelper; diff --git a/server/sonar-web/src/main/js/components/shared/drilldown-link.js b/server/sonar-web/src/main/js/components/shared/drilldown-link.js index 1a0febed8e0..55b64727a8a 100644 --- a/server/sonar-web/src/main/js/components/shared/drilldown-link.js +++ b/server/sonar-web/src/main/js/components/shared/drilldown-link.js @@ -122,7 +122,11 @@ export class DrilldownLink extends React.PureComponent { renderIssuesLink = () => { const url = getComponentIssuesUrl(this.props.component, this.propsToIssueParams()); - return <Link to={url} className={this.props.className}>{this.props.children}</Link>; + return ( + <Link to={url} className={this.props.className}> + {this.props.children} + </Link> + ); }; render() { @@ -131,6 +135,10 @@ export class DrilldownLink extends React.PureComponent { } const url = getComponentDrilldownUrl(this.props.component, this.props.metric); - return <Link to={url} className={this.props.className}>{this.props.children}</Link>; + return ( + <Link to={url} className={this.props.className}> + {this.props.children} + </Link> + ); } } diff --git a/server/sonar-web/src/main/js/components/tags/TagsList.js b/server/sonar-web/src/main/js/components/tags/TagsList.js index 08a3d4c91b1..2c568cee8f6 100644 --- a/server/sonar-web/src/main/js/components/tags/TagsList.js +++ b/server/sonar-web/src/main/js/components/tags/TagsList.js @@ -43,7 +43,9 @@ export default class TagsList extends React.PureComponent { return ( <span className={tagListClass} title={tags.join(', ')}> <i className="icon-tags icon-half-transparent" /> - <span className={spanClass}>{tags.join(', ')}</span> + <span className={spanClass}> + {tags.join(', ')} + </span> {allowUpdate && <i className="icon-dropdown" />} </span> ); diff --git a/server/sonar-web/src/main/js/components/ui/IssueTypeIcon.js b/server/sonar-web/src/main/js/components/ui/IssueTypeIcon.js index cdd7295598f..8fce48ba236 100644 --- a/server/sonar-web/src/main/js/components/ui/IssueTypeIcon.js +++ b/server/sonar-web/src/main/js/components/ui/IssueTypeIcon.js @@ -55,6 +55,10 @@ export default class IssueTypeIcon extends React.PureComponent { return null; } - return this.props.className ? <span className={this.props.className}>{icon}</span> : icon; + return this.props.className + ? <span className={this.props.className}> + {icon} + </span> + : icon; } } diff --git a/server/sonar-web/src/main/js/components/ui/Level.js b/server/sonar-web/src/main/js/components/ui/Level.js index 35648bfdc1b..66a2bbe5025 100644 --- a/server/sonar-web/src/main/js/components/ui/Level.js +++ b/server/sonar-web/src/main/js/components/ui/Level.js @@ -40,6 +40,10 @@ export default class Level extends React.PureComponent { 'level-small': this.props.small, 'level-muted': this.props.muted }); - return <span className={className}>{formatted}</span>; + return ( + <span className={className}> + {formatted} + </span> + ); } } diff --git a/server/sonar-web/src/main/js/components/ui/OrganizationLink.js b/server/sonar-web/src/main/js/components/ui/OrganizationLink.js index 9e2c14306e9..1126da0a70c 100644 --- a/server/sonar-web/src/main/js/components/ui/OrganizationLink.js +++ b/server/sonar-web/src/main/js/components/ui/OrganizationLink.js @@ -21,15 +21,17 @@ import React from 'react'; import { Link } from 'react-router'; -export default function OrganizationLink( - props: { - children?: React.Element<*>, - organization: { - key: string - } +export default function OrganizationLink(props: { + children?: React.Element<*>, + organization: { + key: string } -) { +}) { const { children, organization, ...other } = props; - return <Link to={`/organizations/${organization.key}`} {...other}>{children}</Link>; + return ( + <Link to={`/organizations/${organization.key}`} {...other}> + {children} + </Link> + ); } diff --git a/server/sonar-web/src/main/js/components/ui/Rating.js b/server/sonar-web/src/main/js/components/ui/Rating.js index eb6a35dcb32..65a56c46999 100644 --- a/server/sonar-web/src/main/js/components/ui/Rating.js +++ b/server/sonar-web/src/main/js/components/ui/Rating.js @@ -52,6 +52,10 @@ export default class Rating extends React.PureComponent { }, this.props.className ); - return <span className={className}>{formatted}</span>; + return ( + <span className={className}> + {formatted} + </span> + ); } } diff --git a/server/sonar-web/src/main/js/components/ui/SizeRating.js b/server/sonar-web/src/main/js/components/ui/SizeRating.js index db1a15f2a1a..545db164fc2 100644 --- a/server/sonar-web/src/main/js/components/ui/SizeRating.js +++ b/server/sonar-web/src/main/js/components/ui/SizeRating.js @@ -60,6 +60,10 @@ export default class SizeRating extends React.PureComponent { 'size-rating-muted': this.props.muted }); - return <div className={className}>{letter}</div>; + return ( + <div className={className}> + {letter} + </div> + ); } } diff --git a/server/sonar-web/src/main/js/components/widgets/barchart.js b/server/sonar-web/src/main/js/components/widgets/barchart.js index 99f2695b599..670068ed228 100644 --- a/server/sonar-web/src/main/js/components/widgets/barchart.js +++ b/server/sonar-web/src/main/js/components/widgets/barchart.js @@ -104,9 +104,8 @@ $.fn.barchart = function(data) { }) .attr('title', (d, i) => { const beginning = moment(d.val); - const ending = i < data.length - 1 - ? moment(data[i + 1].val).subtract(1, 'days') - : options.endDate; + const ending = + i < data.length - 1 ? moment(data[i + 1].val).subtract(1, 'days') : options.endDate; if (ending) { const isSameDay = ending.diff(beginning, 'days') <= 1; return ( diff --git a/server/sonar-web/src/main/js/helpers/latinize.js b/server/sonar-web/src/main/js/helpers/latinize.js index 05c2d242541..18b5cfe8de1 100644 --- a/server/sonar-web/src/main/js/helpers/latinize.js +++ b/server/sonar-web/src/main/js/helpers/latinize.js @@ -26,7 +26,8 @@ const defaultDiacriticsRemovalap = [ { base: 'A', - letters: '\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F' + letters: + '\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F' }, { base: 'AA', @@ -74,7 +75,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'E', - letters: '\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E' + letters: + '\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E' }, { base: 'F', @@ -82,7 +84,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'G', - letters: '\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E' + letters: + '\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E' }, { base: 'H', @@ -90,7 +93,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'I', - letters: '\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197' + letters: + '\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197' }, { base: 'J', @@ -102,7 +106,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'L', - letters: '\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780' + letters: + '\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780' }, { base: 'LJ', @@ -118,7 +123,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'N', - letters: '\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4' + letters: + '\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4' }, { base: 'NJ', @@ -130,7 +136,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'O', - letters: '\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C' + letters: + '\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C' }, { base: 'OI', @@ -162,15 +169,18 @@ const defaultDiacriticsRemovalap = [ }, { base: 'R', - letters: '\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782' + letters: + '\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782' }, { base: 'S', - letters: '\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784' + letters: + '\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784' }, { base: 'T', - letters: '\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786' + letters: + '\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786' }, { base: 'TZ', @@ -178,7 +188,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'U', - letters: '\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244' + letters: + '\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244' }, { base: 'V', @@ -198,7 +209,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'Y', - letters: '\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE' + letters: + '\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE' }, { base: 'Z', @@ -206,7 +218,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'a', - letters: '\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250' + letters: + '\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250' }, { base: 'aa', @@ -250,7 +263,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'e', - letters: '\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD' + letters: + '\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD' }, { base: 'f', @@ -258,11 +272,13 @@ const defaultDiacriticsRemovalap = [ }, { base: 'g', - letters: '\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F' + letters: + '\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F' }, { base: 'h', - letters: '\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265' + letters: + '\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265' }, { base: 'hv', @@ -270,7 +286,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'i', - letters: '\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131' + letters: + '\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131' }, { base: 'j', @@ -282,7 +299,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'l', - letters: '\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747' + letters: + '\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747' }, { base: 'lj', @@ -294,7 +312,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'n', - letters: '\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5' + letters: + '\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5' }, { base: 'nj', @@ -302,7 +321,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'o', - letters: '\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275' + letters: + '\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275' }, { base: 'oi', @@ -326,15 +346,18 @@ const defaultDiacriticsRemovalap = [ }, { base: 'r', - letters: '\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783' + letters: + '\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783' }, { base: 's', - letters: '\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B' + letters: + '\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B' }, { base: 't', - letters: '\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787' + letters: + '\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787' }, { base: 'tz', @@ -342,7 +365,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'u', - letters: '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289' + letters: + '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289' }, { base: 'v', @@ -362,7 +386,8 @@ const defaultDiacriticsRemovalap = [ }, { base: 'y', - letters: '\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF' + letters: + '\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF' }, { base: 'z', diff --git a/server/sonar-web/src/main/js/helpers/query.js b/server/sonar-web/src/main/js/helpers/query.js index 5f4a28ec12c..a8be9843cfc 100644 --- a/server/sonar-web/src/main/js/helpers/query.js +++ b/server/sonar-web/src/main/js/helpers/query.js @@ -44,16 +44,16 @@ export const queriesEqual = <T>(a: T, b: T): boolean => { return keysA.every( key => - (Array.isArray(a[key]) && Array.isArray(b[key]) + Array.isArray(a[key]) && Array.isArray(b[key]) ? arraysEqual(a[key], b[key]) - : a[key] === b[key]) + : a[key] === b[key] ); }; export const cleanQuery = (query: { [string]: ?string }): RawQuery => omitBy(query, isNil); export const parseAsBoolean = (value: ?string, defaultValue: boolean = true): boolean => - (value === 'false' ? false : value === 'true' ? true : defaultValue); + value === 'false' ? false : value === 'true' ? true : defaultValue; export const parseAsDate = (value: ?string): ?Date => { const date = moment(value); @@ -63,12 +63,12 @@ export const parseAsDate = (value: ?string): ?Date => { }; export const parseAsFacetMode = (facetMode: string) => - (facetMode === 'debt' || facetMode === 'effort' ? 'effort' : 'count'); + facetMode === 'debt' || facetMode === 'effort' ? 'effort' : 'count'; export const parseAsString = (value: ?string): string => value || ''; export const parseAsArray = <T>(value: ?string, itemParser: string => T): Array<T> => - (value ? value.split(',').map(itemParser) : []); + value ? value.split(',').map(itemParser) : []; export const serializeDate = (value: ?Date): ?string => { if (value != null && value.toISOString) { @@ -79,4 +79,4 @@ export const serializeDate = (value: ?Date): ?string => { export const serializeString = (value: string): ?string => value || undefined; export const serializeStringArray = (value: ?Array<string>): ?string => - (value && value.length ? value.join() : undefined); + value && value.length ? value.join() : undefined; diff --git a/server/sonar-web/src/main/js/helpers/scrolling.js b/server/sonar-web/src/main/js/helpers/scrolling.js index 8f23cf7f327..2530db103eb 100644 --- a/server/sonar-web/src/main/js/helpers/scrolling.js +++ b/server/sonar-web/src/main/js/helpers/scrolling.js @@ -77,9 +77,8 @@ export const scrollToElement = ( const scrollTop = getScrollPosition(parent); - const height: number = parent === window - ? window.innerHeight - : parent.getBoundingClientRect().height; + const height: number = + parent === window ? window.innerHeight : parent.getBoundingClientRect().height; const parentTop = parent === window ? 0 : parent.getBoundingClientRect().top; diff --git a/server/sonar-web/src/main/js/store/globalMessages/duck.js b/server/sonar-web/src/main/js/store/globalMessages/duck.js index b8a1c1fd3cc..b74b8efdfaa 100644 --- a/server/sonar-web/src/main/js/store/globalMessages/duck.js +++ b/server/sonar-web/src/main/js/store/globalMessages/duck.js @@ -84,7 +84,8 @@ const globalMessages = (state: State = [], action: Action = {}) => { return [ { id: uniqueId('global-message-'), - message: 'You are not authorized to access this page. ' + + message: + 'You are not authorized to access this page. ' + 'Please log in with more privileges and try again.', level: ERROR } diff --git a/server/sonar-web/src/main/js/store/organizationsMembers/reducer.js b/server/sonar-web/src/main/js/store/organizationsMembers/reducer.js index 3a2e1410703..1a946656fc4 100644 --- a/server/sonar-web/src/main/js/store/organizationsMembers/reducer.js +++ b/server/sonar-web/src/main/js/store/organizationsMembers/reducer.js @@ -28,7 +28,7 @@ export const getOrganizationMembersLogins = (state, organization) => { }; export const getOrganizationMembersState = (state, organization) => - (organization && state[organization] ? state[organization] : {}); + organization && state[organization] ? state[organization] : {}; const organizationMembers = (state = {}, action = {}) => { const members = state.members || []; |