first commit
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
var WPMLCore = WPMLCore || {};
|
||||
|
||||
WPMLCore.Tooltip = function (element) {
|
||||
this.trigger = element;
|
||||
this.content = this.trigger.html(this.trigger.html()).text();
|
||||
this.edge = 'bottom';
|
||||
this.align = 'left';
|
||||
this.margin_left = '-54px';
|
||||
|
||||
if (!this.content) {
|
||||
this.content = this.decodeEntities(this.trigger.data('content'));
|
||||
}
|
||||
|
||||
if (this.trigger.data('edge')) {
|
||||
this.edge = this.trigger.data('edge');
|
||||
}
|
||||
|
||||
if (this.trigger.data('align')) {
|
||||
this.align = this.trigger.data('align');
|
||||
}
|
||||
|
||||
if (this.trigger.data('margin_left')) {
|
||||
this.margin_left = this.trigger.data('margin_left');
|
||||
}
|
||||
|
||||
this.trigger.empty();
|
||||
this.trigger.click(jQuery.proxy(this.onTriggerClick, this));
|
||||
};
|
||||
|
||||
WPMLCore.Tooltip.prototype = {
|
||||
open: function () {
|
||||
if (this.trigger.length && this.content) {
|
||||
this.trigger.addClass('js-wpml-active-tooltip');
|
||||
this.trigger.pointer({
|
||||
pointerClass: 'js-wpml-tooltip',
|
||||
content: this.content,
|
||||
position: {
|
||||
edge: this.edge,
|
||||
align: this.align
|
||||
},
|
||||
show: jQuery.proxy(this.onShow, this),
|
||||
close: this.onClose,
|
||||
buttons: this.buttons
|
||||
|
||||
}).pointer('open');
|
||||
}
|
||||
},
|
||||
onShow: function (event, t) {
|
||||
t.pointer.css('marginLeft', this.margin_left);
|
||||
},
|
||||
onClose: function (event, t) {
|
||||
t.pointer.css('marginLeft', '0');
|
||||
},
|
||||
onTriggerClick: function (e) {
|
||||
e.preventDefault();
|
||||
this.open();
|
||||
},
|
||||
buttons: function (event, t) {
|
||||
var button = jQuery('<a class="close" href="#"> </a>');
|
||||
|
||||
return button.on('click.pointer', function (e) {
|
||||
e.preventDefault();
|
||||
t.element.pointer('close');
|
||||
});
|
||||
},
|
||||
decodeEntities: function (encodedString) {
|
||||
var textArea = document.createElement('textarea');
|
||||
textArea.innerHTML = encodedString;
|
||||
return textArea.value;
|
||||
}
|
||||
};
|
||||
|
||||
WPMLCore.initializeTooltips = function() {
|
||||
"use strict";
|
||||
|
||||
var tooltips = jQuery('.js-wpml-tooltip-open'), tooltip = {};
|
||||
|
||||
tooltips.each(function (index, element) {
|
||||
tooltip = new WPMLCore.Tooltip(jQuery(element));
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
jQuery(function () {
|
||||
WPMLCore.initializeTooltips();
|
||||
});
|
||||
}());
|
||||
Reference in New Issue
Block a user