summaryrefslogtreecommitdiffstats
path: root/public/js/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/js/index.js')
-rw-r--r--public/js/index.js50
1 files changed, 34 insertions, 16 deletions
diff --git a/public/js/index.js b/public/js/index.js
index b6ed708ea7..c86ccd4cf0 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -380,10 +380,22 @@ function initCommentForm() {
var $noSelect = $list.find('.no-select');
var $listMenu = $('.' + selector + ' .menu');
var hasLabelUpdateAction = $listMenu.data('action') == 'update';
+ var labels = {};
$('.' + selector).dropdown('setting', 'onHide', function(){
hasLabelUpdateAction = $listMenu.data('action') == 'update'; // Update the var
if (hasLabelUpdateAction) {
+ for (var elementId in labels) {
+ if (labels.hasOwnProperty(elementId)) {
+ var label = labels[elementId];
+ updateIssuesMeta(
+ label["update-url"],
+ label["action"],
+ label["issue-id"],
+ elementId
+ );
+ }
+ }
location.reload();
}
});
@@ -417,23 +429,29 @@ function initCommentForm() {
$(this).removeClass('checked');
$(this).find('.octicon').removeClass('octicon-check');
if (hasLabelUpdateAction) {
- updateIssuesMeta(
- $listMenu.data('update-url'),
- "detach",
- $listMenu.data('issue-id'),
- $(this).data('id')
- );
+ if (!($(this).data('id') in labels)) {
+ labels[$(this).data('id')] = {
+ "update-url": $listMenu.data('update-url'),
+ "action": "detach",
+ "issue-id": $listMenu.data('issue-id'),
+ };
+ } else {
+ delete labels[$(this).data('id')];
+ }
}
} else {
$(this).addClass('checked');
$(this).find('.octicon').addClass('octicon-check');
if (hasLabelUpdateAction) {
- updateIssuesMeta(
- $listMenu.data('update-url'),
- "attach",
- $listMenu.data('issue-id'),
- $(this).data('id')
- );
+ if (!($(this).data('id') in labels)) {
+ labels[$(this).data('id')] = {
+ "update-url": $listMenu.data('update-url'),
+ "action": "attach",
+ "issue-id": $listMenu.data('issue-id'),
+ };
+ } else {
+ delete labels[$(this).data('id')];
+ }
}
}
@@ -2040,11 +2058,11 @@ $(document).ready(function () {
$('.issue-checkbox').click(function() {
var numChecked = $('.issue-checkbox').children('input:checked').length;
if (numChecked > 0) {
- $('#issue-filters').hide();
- $('#issue-actions').show();
+ $('#issue-filters').addClass("hide");
+ $('#issue-actions').removeClass("hide");
} else {
- $('#issue-filters').show();
- $('#issue-actions').hide();
+ $('#issue-filters').removeClass("hide");
+ $('#issue-actions').addClass("hide");
}
});