From 3f441ff38c7065a782c68a05f66c8724afe5aaf3 Mon Sep 17 00:00:00 2001 From: Paulo Reis Date: Tue, 2 May 2017 17:02:30 +0100 Subject: [PATCH] Count entries within selection; only show bulk actions if there are selected entries. --- services/web/app/views/project/editor/review-panel.pug | 5 ++++- .../review-panel/controllers/ReviewPanelController.coffee | 6 ++++++ .../ide/review-panel/directives/bulkActionsEntry.coffee | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index ded551dbda..235207a50a 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -86,6 +86,7 @@ bulk-actions-entry( on-bulk-accept="bulkAccept();" on-bulk-reject="bulkAccept();" + n-entries="reviewPanel.nSelectedEntries" ) .rp-entry-list( @@ -359,7 +360,7 @@ script(type='text/ng-template', id='addCommentEntryTemplate') |  #{translate("comment")} script(type='text/ng-template', id='bulkActionsEntryTemplate') - div + div(ng-if="nEntries > 0") .rp-entry-callout.rp-entry-callout-bulk-actions .rp-entry.rp-entry-bulk-actions a.rp-bulk-actions-btn( @@ -368,12 +369,14 @@ script(type='text/ng-template', id='bulkActionsEntryTemplate') ) i.fa.fa-times |  #{translate("reject_all")} + | ({{ nEntries }}) a.rp-bulk-actions-btn( href ng-click="bulkAccept();" ) i.fa.fa-check |  #{translate("accept_all")} + | ({{ nEntries }}) script(type='text/ng-template', id='resolvedCommentsDropdownTemplate') .resolved-comments diff --git a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee index c5cef1eaba..023921e44f 100644 --- a/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee +++ b/services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee @@ -26,6 +26,7 @@ define [ resolvedThreadIds: {} rendererData: {} loadingThreads: false + nSelectedEntries: 0 window.addEventListener "beforeunload", () -> collapsedStates = {} @@ -283,6 +284,7 @@ define [ $scope.$on "editor:focus:changed", (e, selection_offset_start, selection_offset_end, selection) -> doc_id = $scope.editor.open_doc_id entries = getDocEntries(doc_id) + $scope.reviewPanel.nSelectedEntries = 0 delete entries["add-comment"] delete entries["bulk-actions"] @@ -303,9 +305,13 @@ define [ if entry.type == "comment" and not $scope.reviewPanel.resolvedThreadIds[entry.thread_id] entry.focused = (entry.offset <= selection_offset_start <= entry.offset + entry.content.length) else if entry.type == "insert" + isEntryWithinSelection = entry.offset >= selection_offset_start and entry.offset + entry.content.length <= selection_offset_end entry.focused = (entry.offset <= selection_offset_start <= entry.offset + entry.content.length) + $scope.reviewPanel.nSelectedEntries++ if isEntryWithinSelection else if entry.type == "delete" + isEntryWithinSelection = selection_offset_start <= entry.offset >= selection_offset_start entry.focused = (entry.offset == selection_offset_start) + $scope.reviewPanel.nSelectedEntries++ if isEntryWithinSelection else if entry.type in [ "add-comment", "bulk-actions" ] and selection entry.focused = true diff --git a/services/web/public/coffee/ide/review-panel/directives/bulkActionsEntry.coffee b/services/web/public/coffee/ide/review-panel/directives/bulkActionsEntry.coffee index 3adf27ffed..4c206ab635 100644 --- a/services/web/public/coffee/ide/review-panel/directives/bulkActionsEntry.coffee +++ b/services/web/public/coffee/ide/review-panel/directives/bulkActionsEntry.coffee @@ -7,6 +7,7 @@ define [ scope: onBulkAccept: "&" onBulkReject: "&" + nEntries: "=" link: (scope, element, attrs) -> scope.bulkAccept = () -> scope.onBulkAccept()