diff options
author | Stas Vilchik <stas.vilchik@sonarsource.com> | 2017-07-27 09:13:54 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-07-31 11:27:51 +0200 |
commit | 8b1b4f0e63736a0592921246f343b95a3e591599 (patch) | |
tree | ed3e42eaa9d540d7a268b5815b403d6e7eeabf45 /server/sonar-web/src/main/js/apps | |
parent | f3ad96dc83606a906d3058832cb7a85ee450df3a (diff) | |
download | sonarqube-8b1b4f0e63736a0592921246f343b95a3e591599.tar.gz sonarqube-8b1b4f0e63736a0592921246f343b95a3e591599.zip |
apply applications feedback (#2297)
Diffstat (limited to 'server/sonar-web/src/main/js/apps')
11 files changed, 65 insertions, 13 deletions
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 e6622a72ef7..a7e94e0ef84 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 @@ -44,6 +44,7 @@ type Props = { deleteAnalysis: (analysis: string) => Promise<*>, deleteEvent: (analysis: string, event: string) => Promise<*>, loading: boolean, + project: { qualifier: string }, query: Query, updateQuery: RawQuery => void }; @@ -166,7 +167,8 @@ export default class ProjectActivityAnalysesList extends React.PureComponent { <ul className={classNames('project-activity-versions-list', this.props.className)} onScroll={this.handleScroll} - ref={element => (this.scrollContainer = element)}> + ref={element => (this.scrollContainer = element)} + style={{ paddingTop: this.props.project.qualifier === 'APP' ? undefined : 52 }}> {byVersionByDay.map((version, idx) => { const days = Object.keys(version.byDay); if (days.length <= 0) { @@ -197,6 +199,7 @@ export default class ProjectActivityAnalysesList extends React.PureComponent { addVersion={this.props.addVersion} analysis={analysis} canAdmin={this.props.canAdmin} + canCreateVersion={this.props.project.qualifier !== 'APP'} changeEvent={this.props.changeEvent} deleteAnalysis={this.props.deleteAnalysis} deleteEvent={this.props.deleteEvent} 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 a94b2f6ce26..72067b95261 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 @@ -32,6 +32,7 @@ type Props = { addVersion: (analysis: string, version: string) => Promise<*>, analysis: Analysis, canAdmin: boolean, + canCreateVersion: boolean, changeEvent: (event: string, name: string) => Promise<*>, deleteAnalysis: (analysis: string) => Promise<*>, deleteEvent: (analysis: string, event: string) => Promise<*>, @@ -77,6 +78,7 @@ export default class ProjectActivityAnalysis extends React.PureComponent { </button> <ul className="dropdown-menu dropdown-menu-right"> {!hasVersion && + this.props.canCreateVersion && <li> <AddEventForm addEvent={this.props.addVersion} diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.js index 0af7a5acd85..fb825ed45ad 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityApp.js @@ -38,7 +38,12 @@ type Props = { deleteEvent: (analysis: string, event: string) => Promise<*>, graphLoading: boolean, loading: boolean, - project: { configuration?: { showHistory: boolean }, key: string, leakPeriodDate: string }, + project: { + configuration?: { showHistory: boolean }, + key: string, + leakPeriodDate: string, + qualifier: string + }, metrics: Array<Metric>, measuresHistory: Array<MeasureHistory>, query: Query, @@ -56,6 +61,7 @@ export default function ProjectActivityApp(props: Props) { <ProjectActivityPageHeader category={query.category} from={query.from} + project={props.project} to={query.to} updateQuery={props.updateQuery} /> @@ -73,6 +79,7 @@ export default function ProjectActivityApp(props: Props) { deleteAnalysis={props.deleteAnalysis} deleteEvent={props.deleteEvent} loading={props.loading} + project={props.project} query={props.query} updateQuery={props.updateQuery} /> diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js index 1f9a5f2ab91..0ca8c21f1a6 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppContainer.js @@ -44,7 +44,12 @@ import type { Analysis, MeasureHistory, Metric, Paging, Query } from '../types'; type Props = { location: { pathname: string, query: RawQuery }, - project: { configuration?: { showHistory: boolean }, key: string, leakPeriodDate: string }, + project: { + configuration?: { showHistory: boolean }, + key: string, + leakPeriodDate: string, + qualifier: string + }, router: { push: ({ pathname: string, query?: RawQuery }) => void, replace: ({ pathname: string, query?: RawQuery }) => void diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.js b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.js index 2f468c7c776..969af31ee63 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageHeader.js @@ -23,13 +23,14 @@ import Select from 'react-select'; import ProjectActivityEventSelectOption from './ProjectActivityEventSelectOption'; import ProjectActivityEventSelectValue from './ProjectActivityEventSelectValue'; import ProjectActivityDateInput from './ProjectActivityDateInput'; -import { EVENT_TYPES } from '../utils'; +import { EVENT_TYPES, APPLICATION_EVENT_TYPES } from '../utils'; import { translate } from '../../../helpers/l10n'; import type { RawQuery } from '../../../helpers/query'; type Props = { category?: string, from: ?Date, + project: { qualifier: string }, to: ?Date, updateQuery: RawQuery => void }; @@ -38,18 +39,17 @@ export default class ProjectActivityPageHeader extends React.PureComponent { options: Array<{ label: string, value: string }>; props: Props; - constructor(props: Props) { - super(props); - this.options = EVENT_TYPES.map(category => ({ - label: translate('event.category', category), - value: category - })); - } - handleCategoryChange = (option: ?{ value: string }) => this.props.updateQuery({ category: option ? option.value : '' }); render() { + const eventTypes = + this.props.project.qualifier === 'APP' ? APPLICATION_EVENT_TYPES : EVENT_TYPES; + this.options = eventTypes.map(category => ({ + label: translate('event.category', category), + value: category + })); + return ( <header className="page-header"> <Select diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.js b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.js index 147fdeca7d6..c3d7833dd5d 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysesList-test.js @@ -78,6 +78,7 @@ const DEFAULT_PROPS = { deleteAnalysis: () => {}, deleteEvent: () => {}, loading: false, + project: { qualifier: 'TRK' }, query: { category: '', graph: DEFAULT_GRAPH, project: 'org.sonarsource.sonarqube:sonarqube' }, updateQuery: () => {} }; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.js b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.js index 9fe17ba339a..f6faa2a1efa 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityPageHeader-test.js @@ -27,6 +27,7 @@ it('should render correctly the list of series', () => { <ProjectActivityPageHeader category="" from={new Date('2016-10-27T12:21:15+0200')} + project={{}} updateQuery={() => {}} /> ) diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityAnalysesList-test.js.snap b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityAnalysesList-test.js.snap index 53dc51ec351..482868b4505 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityAnalysesList-test.js.snap +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityAnalysesList-test.js.snap @@ -4,6 +4,11 @@ exports[`should correctly filter analyses by category 1`] = ` <ul className="project-activity-versions-list" onScroll={[Function]} + style={ + Object { + "paddingTop": 52, + } + } > <li> <div @@ -50,6 +55,7 @@ exports[`should correctly filter analyses by category 1`] = ` } } canAdmin={false} + canCreateVersion={true} changeEvent={[Function]} deleteAnalysis={[Function]} deleteEvent={[Function]} @@ -68,6 +74,11 @@ exports[`should correctly filter analyses by date range 1`] = ` <ul className="project-activity-versions-list" onScroll={[Function]} + style={ + Object { + "paddingTop": 52, + } + } > <li> <div @@ -114,6 +125,7 @@ exports[`should correctly filter analyses by date range 1`] = ` } } canAdmin={false} + canCreateVersion={true} changeEvent={[Function]} deleteAnalysis={[Function]} deleteEvent={[Function]} @@ -132,6 +144,11 @@ exports[`should render correctly 1`] = ` <ul className="project-activity-versions-list" onScroll={[Function]} + style={ + Object { + "paddingTop": 52, + } + } > <li> <div @@ -178,6 +195,7 @@ exports[`should render correctly 1`] = ` } } canAdmin={false} + canCreateVersion={true} changeEvent={[Function]} deleteAnalysis={[Function]} deleteEvent={[Function]} @@ -228,6 +246,7 @@ exports[`should render correctly 1`] = ` } } canAdmin={false} + canCreateVersion={true} changeEvent={[Function]} deleteAnalysis={[Function]} deleteEvent={[Function]} @@ -274,6 +293,7 @@ exports[`should render correctly 1`] = ` } } canAdmin={false} + canCreateVersion={true} changeEvent={[Function]} deleteAnalysis={[Function]} deleteEvent={[Function]} @@ -321,6 +341,7 @@ exports[`should render correctly 1`] = ` } } canAdmin={false} + canCreateVersion={true} changeEvent={[Function]} deleteAnalysis={[Function]} deleteEvent={[Function]} diff --git a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityApp-test.js.snap b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityApp-test.js.snap index 9912ce833fc..9a69a6e5a04 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityApp-test.js.snap +++ b/server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/__snapshots__/ProjectActivityApp-test.js.snap @@ -11,6 +11,12 @@ exports[`should render correctly 1`] = ` /> <ProjectActivityPageHeader category="" + project={ + Object { + "key": "org.sonarsource.sonarqube:sonarqube", + "leakPeriodDate": "2017-05-16T13:50:02+0200", + } + } updateQuery={[Function]} /> <div @@ -65,6 +71,12 @@ exports[`should render correctly 1`] = ` deleteAnalysis={[Function]} deleteEvent={[Function]} loading={false} + project={ + Object { + "key": "org.sonarsource.sonarqube:sonarqube", + "leakPeriodDate": "2017-05-16T13:50:02+0200", + } + } query={ Object { "category": "", 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 e7688258d11..41ba543df0b 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 @@ -40,7 +40,6 @@ overflow: auto; flex-grow: 1; flex-shrink: 0; - padding-top: 52px; } .project-activity-graphs { 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 63558f363cf..029092481cc 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/utils.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/utils.js @@ -35,6 +35,7 @@ import type { RawQuery } from '../../helpers/query'; import type { Serie } from '../../components/charts/AdvancedTimeline'; export const EVENT_TYPES = ['VERSION', 'QUALITY_GATE', 'QUALITY_PROFILE', 'OTHER']; +export const APPLICATION_EVENT_TYPES = ['QUALITY_GATE', 'OTHER']; export const DEFAULT_GRAPH = 'issues'; export const GRAPH_TYPES = ['issues', 'coverage', 'duplications', 'custom']; export const GRAPHS_METRICS_DISPLAYED = { |