define(function (require, exports, module) {

  const $ = require('jquery');
  const meld = require('meld');

  const Plugin = require('extplug/Plugin');

  const rolloverView = require('plug/views/users/userRolloverView');

  const getBlurb = require('./blurb');

  const emoji = $('<span />').addClass('emoji-glow')
    .append($('<span />').addClass('emoji emoji-1f4dd'));

  const RolloverBlurb = Plugin.extend({
    name: 'Rollover Blurb',
    description: 'Show user "Blurb" / bio in rollover popups.',

    enable() {
      this._super();
      this.Style({
        '.extplug-blurb': {
          'padding': '10px',
          'position': 'absolute',
          'top': '3px',
          'background': '#282c35',
          'width': '100%',
          'box-sizing': 'border-box',
          'display': 'none'
        },
        '.expand .extplug-blurb': {
          'display': 'block'
        }
      });

      this.showAdvice = meld.after(rolloverView, 'showModal', this.addBlurb);
      this.hideAdvice = meld.before(rolloverView, 'hide', this.removeBlurb);
    },

    disable() {
      this._super();
      this.showAdvice.remove();
      this.hideAdvice.remove();
    },

    // these advice methods are not bound, so their context is the rollover View instance
    addBlurb() {
      this.$('.extplug-blurb-wrap').remove();
      let span = $('<span />').addClass('extplug-blurb');
      let div = $('<div />').addClass('info extplug-blurb-wrap').append(span);
      getBlurb(this.user).then(blurb => {
        if (blurb) {
          // `this` == the RolloverView
          this.$('.actions').before(div);
          span.append(emoji, ` ${blurb}`);
          div.height(span[0].offsetHeight + 6);
          this.$el.css('top', (parseInt(this.$el.css('top'), 10) - div.height()) + 'px');
        }
      });
    },
    removeBlurb() {
      // `this` == the RolloverView
      this.$('.extplug-blurb-wrap').remove();
    }

  });

  module.exports = RolloverBlurb;

});

@@ -78,20 +78,33 @@
   const 
-meld
+%7B before, after %7D
  = requi
@@ -524,61 +524,17 @@
     
-enable() %7B%0A      this._super();%0A      this.Style(%7B%0A  
+style: %7B%0A
     
@@ -563,18 +563,16 @@
         
- 
- 
 'padding
@@ -578,26 +578,24 @@
 g': '10px',%0A
-  
         'pos
@@ -622,18 +622,16 @@
         
- 
- 
 'top': '
@@ -632,26 +632,24 @@
 op': '3px',%0A
-  
         'bac
@@ -677,18 +677,16 @@
         
-  
 'width':
@@ -694,18 +694,16 @@
 '100%25',%0A
-  
         
@@ -730,34 +730,32 @@
 r-box',%0A        
-  
 'display': 'none
@@ -756,18 +756,16 @@
  'none'%0A
-  
       %7D,
@@ -767,26 +767,24 @@
    %7D,%0A      
-  
 '.expand .ex
@@ -795,26 +795,24 @@
 g-blurb': %7B%0A
-  
         'dis
@@ -832,30 +832,40 @@
 '%0A      
-  
 %7D%0A    
-  %7D);%0A
+%7D,%0A%0A    enable() %7B
 %0A      t
@@ -881,21 +881,16 @@
 dvice = 
-meld.
 after(ro
@@ -958,13 +958,8 @@
 e = 
-meld.
 befo
@@ -1030,29 +1030,8 @@
 ) %7B%0A
-      this._super();%0A
     

remove deprecated function usage