debian-mirror-gitlab/app/assets/javascripts/reports/codequality_report/grouped_codequality_reports_app.vue

85 lines
2.3 KiB
Vue
Raw Normal View History

2020-07-28 23:09:34 +05:30
<script>
import { mapState, mapActions, mapGetters } from 'vuex';
import { s__, sprintf } from '~/locale';
2021-03-11 19:13:27 +05:30
import { componentNames } from '~/reports/components/issue_body';
2020-07-28 23:09:34 +05:30
import ReportSection from '~/reports/components/report_section.vue';
import createStore from './store';
export default {
name: 'GroupedCodequalityReportsApp',
store: createStore(),
components: {
ReportSection,
},
props: {
2021-09-04 01:27:46 +05:30
headBlobPath: {
type: String,
required: true,
},
baseBlobPath: {
type: String,
required: false,
default: null,
},
2021-03-11 19:13:27 +05:30
codequalityReportsPath: {
type: String,
required: false,
default: '',
},
2020-07-28 23:09:34 +05:30
codequalityHelpPath: {
type: String,
required: true,
},
},
componentNames,
computed: {
2021-03-11 19:13:27 +05:30
...mapState(['newIssues', 'resolvedIssues', 'hasError', 'statusReason']),
2020-07-28 23:09:34 +05:30
...mapGetters([
'hasCodequalityIssues',
'codequalityStatus',
'codequalityText',
'codequalityPopover',
]),
},
created() {
this.setPaths({
2021-09-04 01:27:46 +05:30
baseBlobPath: this.baseBlobPath,
headBlobPath: this.headBlobPath,
2021-03-11 19:13:27 +05:30
reportsPath: this.codequalityReportsPath,
2020-07-28 23:09:34 +05:30
helpPath: this.codequalityHelpPath,
});
2021-04-29 21:17:54 +05:30
this.fetchReports();
2020-07-28 23:09:34 +05:30
},
methods: {
...mapActions(['fetchReports', 'setPaths']),
},
loadingText: sprintf(s__('ciReport|Loading %{reportName} report'), {
2021-11-18 22:05:49 +05:30
// eslint-disable-next-line @gitlab/require-i18n-strings
reportName: 'Code quality',
2020-07-28 23:09:34 +05:30
}),
errorText: sprintf(s__('ciReport|Failed to load %{reportName} report'), {
2021-11-18 22:05:49 +05:30
// eslint-disable-next-line @gitlab/require-i18n-strings
reportName: 'Code quality',
2020-07-28 23:09:34 +05:30
}),
};
</script>
<template>
<report-section
:status="codequalityStatus"
:loading-text="$options.loadingText"
:error-text="$options.errorText"
:success-text="codequalityText"
:unresolved-issues="newIssues"
:resolved-issues="resolvedIssues"
:has-issues="hasCodequalityIssues"
:component="$options.componentNames.CodequalityIssueBody"
:popover-options="codequalityPopover"
2021-01-29 00:20:46 +05:30
:show-report-section-status-icon="false"
2021-04-29 21:17:54 +05:30
track-action="users_expanding_testing_code_quality_report"
2020-07-28 23:09:34 +05:30
class="js-codequality-widget mr-widget-border-top mr-report"
2021-03-11 19:13:27 +05:30
>
<template v-if="hasError" #sub-heading>{{ statusReason }}</template>
</report-section>
2020-07-28 23:09:34 +05:30
</template>