cmc-sales/webroot/js/slickgrid/plugins/slick.autotooltips.js
2011-03-23 18:18:21 +11:00

49 lines
1.4 KiB
JavaScript

(function($) {
// register namespace
$.extend(true, window, {
"Slick": {
"AutoTooltips": AutoTooltips
}
});
function AutoTooltips(options) {
var _grid;
var _self = this;
var _defaults = {
maxToolTipLength: null
};
function init(grid) {
options = $.extend(true,{},_defaults,options);
_grid = grid;
_grid.onMouseEnter.subscribe(handleMouseEnter);
}
function destroy() {
_grid.onMouseEnter.unsubscribe(handleMouseEnter);
}
function handleMouseEnter(e,args) {
var cell = _grid.getCellFromEvent(e);
if (cell) {
var node = _grid.getCellNode(cell.row, cell.cell);
if ($(node).innerWidth() < node.scrollWidth) {
var text = $.trim($(node).text());
if (options.maxToolTipLength && text.length > options.maxToolTipLength) {
text = text.substr(0, options.maxToolTipLength - 3) + "...";
}
$(node).attr("title",text);
}
else {
$(node).attr("title","");
}
}
}
$.extend(this, {
"init": init,
"destroy": destroy
});
}
})(jQuery);