Converted tooltips to coffee too, and removed both converted files from the included js header.
This commit is contained in:
47
lms/static/coffee/src/discussion/tooltips.coffee
Normal file
47
lms/static/coffee/src/discussion/tooltips.coffee
Normal file
@@ -0,0 +1,47 @@
|
||||
$ ->
|
||||
new Tooltips
|
||||
|
||||
class @Tooltips
|
||||
constructor: () ->
|
||||
@$body = $('body')
|
||||
@$tooltip = $('<div class="tooltip"></div>')
|
||||
@$body.delegate '[data-tooltip]',
|
||||
'mouseover': @showTooltip,
|
||||
'mousemove': @moveTooltip,
|
||||
'mouseout': @hideTooltip,
|
||||
'click': @hideTooltip
|
||||
|
||||
showTooltip: (e) =>
|
||||
tooltipText = $(e.target).attr('data-tooltip')
|
||||
@$tooltip.html(tooltipText)
|
||||
@$body.append(@$tooltip)
|
||||
$(e.target).children().css('pointer-events', 'none')
|
||||
|
||||
tooltipCoords =
|
||||
x: e.pageX - (@$tooltip.outerWidth() / 2)
|
||||
y: e.pageY - (@$tooltip.outerHeight() + 15)
|
||||
|
||||
@$tooltip.css
|
||||
'left': tooltipCoords.x,
|
||||
'top': tooltipCoords.y
|
||||
|
||||
@tooltipTimer = setTimeout ()=>
|
||||
@$tooltip.show().css('opacity', 1)
|
||||
|
||||
@tooltipTimer = setTimeout ()=>
|
||||
@hideTooltip()
|
||||
, 3000
|
||||
, 500
|
||||
|
||||
moveTooltip: (e) =>
|
||||
tooltipCoords =
|
||||
x: e.pageX - (@$tooltip.outerWidth() / 2)
|
||||
y: e.pageY - (@$tooltip.outerHeight() + 15)
|
||||
|
||||
@$tooltip.css
|
||||
'left': tooltipCoords.x
|
||||
'top': tooltipCoords.y
|
||||
|
||||
hideTooltip: (e) =>
|
||||
@$tooltip.hide().css('opacity', 0)
|
||||
clearTimeout(@tooltipTimer)
|
||||
@@ -1,56 +0,0 @@
|
||||
var $body;
|
||||
var $tooltip;
|
||||
var tooltipTimer;
|
||||
var tooltipCoords;
|
||||
$(document).ready(function() {
|
||||
$body = $('body');
|
||||
$tooltip = $('<div class="tooltip"></div>');
|
||||
$body.delegate('[data-tooltip]', {
|
||||
'mouseover': showTooltip,
|
||||
'mousemove': moveTooltip,
|
||||
'mouseout': hideTooltip,
|
||||
'click': hideTooltip
|
||||
});
|
||||
});
|
||||
|
||||
function showTooltip(e) {
|
||||
var tooltipText = $(this).attr('data-tooltip');
|
||||
$tooltip.html(tooltipText);
|
||||
$body.append($tooltip);
|
||||
$(this).children().css('pointer-events', 'none');
|
||||
|
||||
tooltipCoords = {
|
||||
x: e.pageX - ($tooltip.outerWidth() / 2),
|
||||
y: e.pageY - ($tooltip.outerHeight() + 15)
|
||||
};
|
||||
|
||||
$tooltip.css({
|
||||
'left': tooltipCoords.x,
|
||||
'top': tooltipCoords.y
|
||||
});
|
||||
|
||||
tooltipTimer = setTimeout(function() {
|
||||
$tooltip.show().css('opacity', 1);
|
||||
|
||||
tooltipTimer = setTimeout(function() {
|
||||
hideTooltip();
|
||||
}, 3000);
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function moveTooltip(e) {
|
||||
tooltipCoords = {
|
||||
x: e.pageX - ($tooltip.outerWidth() / 2),
|
||||
y: e.pageY - ($tooltip.outerHeight() + 15)
|
||||
};
|
||||
|
||||
$tooltip.css({
|
||||
'left': tooltipCoords.x,
|
||||
'top': tooltipCoords.y
|
||||
});
|
||||
}
|
||||
|
||||
function hideTooltip(e) {
|
||||
$tooltip.hide().css('opacity', 0);
|
||||
clearTimeout(tooltipTimer);
|
||||
}
|
||||
@@ -12,8 +12,6 @@
|
||||
<script type="text/javascript" src="${static.url('js/URI.min.js')}"></script>
|
||||
<script type="text/javascript" src="${static.url('js/vendor/underscore-min.js')}"></script>
|
||||
<script type="text/javascript" src="${static.url('js/vendor/backbone-min.js')}"></script>
|
||||
<script type="text/javascript" src="${static.url('js/tooltips.js')}"></script>
|
||||
<script type="text/javascript" src="${static.url('js/discussion-filter.js')}"></script>
|
||||
|
||||
<link href="${static.url('css/vendor/jquery.tagsinput.css')}" rel="stylesheet" type="text/css">
|
||||
<link href="${static.url('css/vendor/jquery.autocomplete.css')}" rel="stylesheet" type="text/css">
|
||||
|
||||
Reference in New Issue
Block a user