From b172b4602bfa59b36c4c78229968ca1a49509db0 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 11 Aug 2017 01:12:42 -0400 Subject: [PATCH] Move review_requested back to the buttons.. Make it work on tag changes --- modules/ui/commit.js | 53 ++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/modules/ui/commit.js b/modules/ui/commit.js index 71e8ef0a9..c8b55909f 100644 --- a/modules/ui/commit.js +++ b/modules/ui/commit.js @@ -125,17 +125,6 @@ export function uiCommit(context) { .text(t('commit.about_changeset_comments')); - var requestReview = fieldSection - .append('p') - .attr('class', 'request-review') - .text(t('commit.request_review')); - - requestReview - .append('input') - .attr('type', 'checkbox') - .on('change', toggleRequestReview()); - - // Warnings var warnings = body.selectAll('div.warning-section') .data([context.history().validate(changes)]); @@ -213,6 +202,18 @@ export function uiCommit(context) { }); + var requestReview = saveSection + .append('p') + .attr('class', 'request-review') + .text(t('commit.request_review')); + + var requestReviewField = requestReview + .append('input') + .attr('type', 'checkbox') + .property('checked', isReviewRequested(changeset.tags)) + .on('change', toggleRequestReview()); + + // Buttons var buttonSection = saveSection .append('div') @@ -391,14 +392,11 @@ export function uiCommit(context) { function toggleRequestReview() { - var toggled = false; - return function() { - var changeset = updateChangeset({ review_requested: (toggled ? 'yes' : undefined) }); + var rr = requestReviewField.property('checked'); + var changeset = updateChangeset({ review_requested: (rr ? 'yes' : undefined) }); var expanded = !tagSection.selectAll('a.hide-toggle.expanded').empty(); - toggled = !toggled; - tagSection .call(rawTagEditor .expanded(expanded) @@ -415,13 +413,34 @@ export function uiCommit(context) { changed.comment = ''; } changed.comment = changed.comment.trim(); - commentField.property('value', changed.comment); + commentField + .property('value', changed.comment); } + + if (changed.hasOwnProperty('review_requested')) { + if (changed.review_requested === undefined) { + requestReviewField + .property('checked', false); + } else { + changed.review_requested = changed.review_requested.trim(); + requestReviewField + .property('checked', isReviewRequested(changed)); + } + } + updateChangeset(changed); utilTriggerEvent(commentField, 'input'); } + function isReviewRequested(tags) { + var rr = tags.review_requested; + if (rr === undefined) return false; + rr = rr.trim().toLowerCase(); + return !(rr == '' || rr === 'no') + } + + function updateChangeset(changed) { var tags = _.clone(changeset.tags);