Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bennett <lukeeeebennettplus@gmail.com>2018-03-13 17:44:06 +0300
committerLuke Bennett <lukeeeebennettplus@gmail.com>2018-03-13 17:44:06 +0300
commit978d553ad00fad714dd926b5e38fe927fb72051f (patch)
tree03d8d93a7022e0f29cd1449740381dc315825a6d /app/assets/javascripts/milestone.js
parent607636b92080b3760568f36c341cbe71edfdc541 (diff)
Init deprecation message. Incomplete.
Diffstat (limited to 'app/assets/javascripts/milestone.js')
-rw-r--r--app/assets/javascripts/milestone.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/assets/javascripts/milestone.js b/app/assets/javascripts/milestone.js
index b1d74250dfd..ab97fa50fd5 100644
--- a/app/assets/javascripts/milestone.js
+++ b/app/assets/javascripts/milestone.js
@@ -3,6 +3,7 @@ import flash from './flash';
export default class Milestone {
constructor() {
+ Milestone.initDeprecationMessage();
this.bindTabsSwitching();
// Load merge request tab if it is active
@@ -42,4 +43,37 @@ export default class Milestone {
.catch(() => flash('Error loading milestone tab'));
}
}
+
+ static initDeprecationMessage() {
+ const deprecationMesssage = document.querySelector('.milestone-deprecation-message');
+
+ if (!deprecationMesssage) return;
+
+ const deprecationMesssageTemplate = deprecationMesssage.querySelector('.milestone-deprecation-message-template');
+ const popoverLink = deprecationMesssage.querySelector('.popover-link');
+ const $popoverLink = $(popoverLink);
+
+ $popoverLink
+ .popover({
+ html: true,
+ placement: 'bottom',
+ content: deprecationMesssageTemplate.innerHTML,
+ trigger: 'hover',
+ })
+ .on('inserted.bs.popover', () => {
+ const $popover = $popoverLink.siblings('.popover').first();
+ const $popoverContent = $('.popover-content', $popover);
+
+ $popoverContent.on('mouseleave', () => {
+ $popoverContent.off('mouseleave');
+ $popoverLink.popover('hide');
+ });
+ })
+ .on('hidden.bs.popover', (event) => {
+ $(event.target).data('bs.popover').inState.click = false;
+ })
+ .on('mouseleave', () => {
+
+ });
+ }
}