diff --git a/ee/app/assets/javascripts/approvals/components/fallback_rules.vue b/ee/app/assets/javascripts/approvals/components/fallback_rules.vue index 84987c583220a656c3e4963e899599054701e6f1..eb9243307dafcbf99c1a87542f83c4d10d5b390a 100644 --- a/ee/app/assets/javascripts/approvals/components/fallback_rules.vue +++ b/ee/app/assets/javascripts/approvals/components/fallback_rules.vue @@ -47,10 +47,10 @@ export default { diff --git a/ee/app/assets/javascripts/approvals/components/mr_edit/mr_rules.vue b/ee/app/assets/javascripts/approvals/components/mr_edit/mr_rules.vue index b753233f5f2f73d84b21f4d7967c106d830b62da..f8dcb048d2daf2b66f72481a508f423e2bfdf3eb 100644 --- a/ee/app/assets/javascripts/approvals/components/mr_edit/mr_rules.vue +++ b/ee/app/assets/javascripts/approvals/components/mr_edit/mr_rules.vue @@ -33,11 +33,11 @@ export default { diff --git a/ee/app/assets/javascripts/approvals/components/project_settings/project_rules.vue b/ee/app/assets/javascripts/approvals/components/project_settings/project_rules.vue index 7c3a93dda440af4bb9a91a4c90892baafa18a1dd..85b2df5b69e5f5f426cb7c858196d106557e4615 100644 --- a/ee/app/assets/javascripts/approvals/components/project_settings/project_rules.vue +++ b/ee/app/assets/javascripts/approvals/components/project_settings/project_rules.vue @@ -44,18 +44,18 @@ export default { diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/index.js b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/index.js new file mode 100644 index 0000000000000000000000000000000000000000..dd562eac3ad5d048509095124515176467804e87 --- /dev/null +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/index.js @@ -0,0 +1,10 @@ +import MultipleRuleApprovals from './multiple_rule/approvals.vue'; +import SingleRuleApprovals from './single_rule/approvals.vue'; + +export default { + functional: true, + render(h, context) { + const component = gon.features.approvalRules ? MultipleRuleApprovals : SingleRuleApprovals; + return h(component, context.data, context.children); + }, +}; diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/messages.js b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/messages.js new file mode 100644 index 0000000000000000000000000000000000000000..0538c38307b420d98544d5c04138385583114607 --- /dev/null +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/messages.js @@ -0,0 +1,9 @@ +import { __, s__ } from '~/locale'; + +export const FETCH_LOADING = __('Checking approval status'); +export const FETCH_ERROR = s__( + 'mrWidget|An error occurred while retrieving approval data for this merge request.', +); +export const APPROVE_ERROR = s__('mrWidget|An error occurred while submitting your approval.'); +export const UNAPPROVE_ERROR = s__('mrWidget|An error occurred while removing your approval.'); +export const APPROVED_MESSAGE = s__('mrWidget|Merge request approved.'); diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals.vue new file mode 100644 index 0000000000000000000000000000000000000000..9e0b7164f9b30a559f19e3fb95f13ad77269ec01 --- /dev/null +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals.vue @@ -0,0 +1,179 @@ + + + diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_footer.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_footer.vue new file mode 100644 index 0000000000000000000000000000000000000000..ebf85e1eb43781a98fca6f43542ffd2665a0e365 --- /dev/null +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_footer.vue @@ -0,0 +1,82 @@ + + + diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_list.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_list.vue new file mode 100644 index 0000000000000000000000000000000000000000..19ef579a79d970de8dca9491df04ff3ea6ea2447 --- /dev/null +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_list.vue @@ -0,0 +1,99 @@ + + + diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_summary.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_summary.vue new file mode 100644 index 0000000000000000000000000000000000000000..11bfa19e5451469e35607936914980b1a36772de --- /dev/null +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approvals_summary.vue @@ -0,0 +1,68 @@ + + + diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approved_icon.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approved_icon.vue new file mode 100644 index 0000000000000000000000000000000000000000..a31978b4969a4ebaae73411c87452c24f74551da --- /dev/null +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/multiple_rule/approved_icon.vue @@ -0,0 +1,20 @@ + + + diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/mr_widget_approvals.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/single_rule/approvals.vue similarity index 86% rename from ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/mr_widget_approvals.vue rename to ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/single_rule/approvals.vue index 0e8039e7963a6019a4533fcf3cf30aafed0fdced..92ae3edb1fe47ef95797b1c46b0294045869275a 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/mr_widget_approvals.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/single_rule/approvals.vue @@ -1,13 +1,13 @@