summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorLuke Bennett <lukeeeebennettplus@gmail.com>2018-04-19 03:19:55 +0100
committerLuke Bennett <lukeeeebennettplus@gmail.com>2018-04-19 03:19:55 +0100
commit53a4437a6450a35942f91a92d0fcb296cd6dc989 (patch)
tree1464cf6334cd08440c3fdc928b52ef682b05de3f /app/assets/javascripts
parent5099e73f9fcf6a835db8f8cff5380a4a3db1c736 (diff)
downloadgitlab-ce-53a4437a6450a35942f91a92d0fcb296cd6dc989.tar.gz
Add and remove priority label
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/label_manager.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/app/assets/javascripts/label_manager.js b/app/assets/javascripts/label_manager.js
index e230dbbd4ac..628e084a5e0 100644
--- a/app/assets/javascripts/label_manager.js
+++ b/app/assets/javascripts/label_manager.js
@@ -13,6 +13,7 @@ export default class LabelManager {
this.otherLabels = otherLabels || $('.js-other-labels');
this.errorMessage = 'Unable to update label prioritization at this time';
this.emptyState = document.querySelector('#js-priority-labels-empty-state');
+ this.$badgeItemTemplate = $(document.getElementById('js-badge-item-template').innerHTML);
this.sortable = Sortable.create(this.prioritizedLabels.get(0), {
filter: '.empty-message',
forceFallback: true,
@@ -63,7 +64,11 @@ export default class LabelManager {
$target = this.otherLabels;
$from = this.prioritizedLabels;
}
- $label.detach().appendTo($target);
+
+ const $detachedLabel = $label.detach();
+ this.toggleLabelPriorityBadge($detachedLabel, action);
+ $detachedLabel.appendTo($target);
+
if ($from.find('li').length) {
$from.find('.empty-message').removeClass('hidden');
}
@@ -88,6 +93,14 @@ export default class LabelManager {
}
}
+ toggleLabelPriorityBadge($label, action) {
+ if (action === 'remove') {
+ $('.js-priority-badge', $label).remove();
+ } else {
+ $('.label-links', $label).append(this.$badgeItemTemplate);
+ }
+ }
+
onPrioritySortUpdate() {
this.savePrioritySort()
.catch(() => flash(this.errorMessage));