Skip to content

Commit

Permalink
fix tooltip-content binding bug
Browse files Browse the repository at this point in the history
  • Loading branch information
Leopoldthecoder committed Jul 13, 2016
1 parent ab7d4cb commit ecbbbcd
Showing 1 changed file with 19 additions and 11 deletions.
30 changes: 19 additions & 11 deletions src/service/tooltip.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,36 @@ import Vue from 'vue';
var Tooltip = Vue.extend(require('./tooltip.vue'));

Vue.directive('tooltip', {
params: ['tooltip-content', 'tooltip-placement', 'tooltip-trigger', 'tooltip-delay'],
paramWatchers: {
tooltipContent(val) {
if (this.instance) {
this.instance.content = val;
}
}
},
bind() {
var el = this.el;
var placement = el.getAttribute('tooltip-placement');
var content = el.getAttribute('tooltip-content');
var trigger = el.getAttribute('tooltip-trigger') || 'mouseenter';
var delay = parseInt(el.getAttribute('tooltip-delay'), 10);
var placement = this.params.tooltipPlacement;
var content = this.params.tooltipContent;
var trigger = this.params.tooltipTrigger || 'mouseenter';
var delay = parseInt(this.params.tooltipDelay, 10);

if (trigger === 'mouseenter' && isNaN(delay)) {
delay = 300;
}

if (!placement) placement = 'bottom';

var instance = new Tooltip({
this.instance = new Tooltip({
el: document.createElement('div')
});

instance.placement = placement;
instance.content = content;
instance.trigger = trigger;
instance.target = el;
instance.openDelay = delay;
instance.bindTarget();
this.instance.placement = placement;
this.instance.content = content;
this.instance.trigger = trigger;
this.instance.target = el;
this.instance.openDelay = delay;
this.instance.bindTarget();
}
});

0 comments on commit ecbbbcd

Please sign in to comment.