debian-mirror-gitlab/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js
2017-08-17 22:00:37 +05:30

30 lines
1,018 B
JavaScript

export default function deviseState(data) {
if (data.project_archived) {
return 'archived';
} else if (data.branch_missing) {
return 'missingBranch';
} else if (!data.commits_count) {
return 'nothingToMerge';
} else if (this.mergeStatus === 'unchecked') {
return 'checking';
} else if (data.has_conflicts) {
return 'conflicts';
} else if (data.work_in_progress) {
return 'workInProgress';
} else if (this.onlyAllowMergeIfPipelineSucceeds && this.isPipelineFailed) {
return 'pipelineFailed';
} else if (this.hasMergeableDiscussionsState) {
return 'unresolvedDiscussions';
} else if (this.isPipelineBlocked) {
return 'pipelineBlocked';
} else if (this.hasSHAChanged) {
return 'shaMismatch';
} else if (this.mergeWhenPipelineSucceeds) {
return this.mergeError ? 'autoMergeFailed' : 'mergeWhenPipelineSucceeds';
} else if (!this.canMerge) {
return 'notAllowedToMerge';
} else if (this.canBeMerged) {
return 'readyToMerge';
}
return null;
}