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

95 lines
2.5 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';
2021-03-11 19:13:27 +05:30
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
2020-07-28 23:09:34 +05:30
import createStore from './store';
export default {
name: 'GroupedCodequalityReportsApp',
store: createStore(),
components: {
ReportSection,
},
2021-03-11 19:13:27 +05:30
mixins: [glFeatureFlagsMixin()],
2020-07-28 23:09:34 +05:30
props: {
headPath: {
type: String,
required: true,
},
headBlobPath: {
type: String,
required: true,
},
basePath: {
type: String,
required: false,
default: null,
},
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({
basePath: this.basePath,
headPath: this.headPath,
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-03-11 19:13:27 +05:30
this.fetchReports(this.glFeatures.codequalityBackendComparison);
2020-07-28 23:09:34 +05:30
},
methods: {
...mapActions(['fetchReports', 'setPaths']),
},
loadingText: sprintf(s__('ciReport|Loading %{reportName} report'), {
reportName: 'codeclimate',
}),
errorText: sprintf(s__('ciReport|Failed to load %{reportName} report'), {
reportName: 'codeclimate',
}),
};
</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"
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>