mirror of https://github.com/rancher/ui.git
63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
import Ember from 'ember';
|
|
|
|
function onHide() {
|
|
this.set('isMenuShown', false);
|
|
if ( !this.get('isMouseIn') )
|
|
{
|
|
this.$().removeClass('hover');
|
|
}
|
|
}
|
|
|
|
function onShow() {
|
|
this.set('isMenuShown', true);
|
|
}
|
|
|
|
function onEnter() {
|
|
this.set('isMouseIn',true);
|
|
this.$().addClass('hover');
|
|
}
|
|
|
|
function onLeave() {
|
|
this.set('isMouseIn',false);
|
|
if ( !this.get('isMenuShown') )
|
|
{
|
|
this.$().removeClass('hover');
|
|
}
|
|
}
|
|
|
|
export default Ember.Mixin.create({
|
|
boundLeave: null,
|
|
boundEnter: null,
|
|
boundHide: null,
|
|
boundShow: null,
|
|
isMouseIn: false,
|
|
isMenuShown: false,
|
|
didInsertElement: function() {
|
|
this._super();
|
|
|
|
var boundHide = onHide.bind(this);
|
|
var boundShow = onShow.bind(this);
|
|
var boundEnter = onEnter.bind(this);
|
|
var boundLeave = onLeave.bind(this);
|
|
|
|
this.set('boundHide', boundHide);
|
|
this.set('boundShow', boundShow);
|
|
this.set('boundEnter', boundEnter);
|
|
this.set('boundLeave', boundLeave);
|
|
|
|
this.$('.resource-actions').on('hide.bs.dropdown', boundHide);
|
|
this.$('.resource-actions').on('show.bs.dropdown', boundShow);
|
|
this.$().on('mouseenter', boundEnter);
|
|
this.$().on('mouseleave', boundLeave);
|
|
},
|
|
|
|
willDestroyElement: function() {
|
|
this._super();
|
|
|
|
this.$('.resource-actions').off('hide.bs.dropdown', this.get('boundHide'));
|
|
this.$('.resource-actions').off('show.bs.dropdown', this.get('boundShow'));
|
|
this.$().off('mouseleave', this.get('boundLeave'));
|
|
this.$().off('mouseenter', this.get('boundEnter'));
|
|
}
|
|
});
|