選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

48 行
1.1 KiB

  1. (function ($) {
  2. // register namespace
  3. $.extend(true, window, {
  4. "Slick": {
  5. "AutoTooltips": AutoTooltips
  6. }
  7. });
  8. function AutoTooltips(options) {
  9. var _grid;
  10. var _self = this;
  11. var _defaults = {
  12. maxToolTipLength: null
  13. };
  14. function init(grid) {
  15. options = $.extend(true, {}, _defaults, options);
  16. _grid = grid;
  17. _grid.onMouseEnter.subscribe(handleMouseEnter);
  18. }
  19. function destroy() {
  20. _grid.onMouseEnter.unsubscribe(handleMouseEnter);
  21. }
  22. function handleMouseEnter(e, args) {
  23. var cell = _grid.getCellFromEvent(e);
  24. if (cell) {
  25. var node = _grid.getCellNode(cell.row, cell.cell);
  26. if ($(node).innerWidth() < node.scrollWidth) {
  27. var text = $.trim($(node).text());
  28. if (options.maxToolTipLength && text.length > options.maxToolTipLength) {
  29. text = text.substr(0, options.maxToolTipLength - 3) + "...";
  30. }
  31. $(node).attr("title", text);
  32. } else {
  33. $(node).attr("title", "");
  34. }
  35. }
  36. }
  37. $.extend(this, {
  38. "init": init,
  39. "destroy": destroy
  40. });
  41. }
  42. })(jQuery);