diff options
author | mleibman <michael.leibman@gmail.com> | 2012-06-17 19:10:56 -0700 |
---|---|---|
committer | mleibman <michael.leibman@gmail.com> | 2012-06-17 19:10:56 -0700 |
commit | a648d5adf6828c66481e844f5d913f360fe56e41 (patch) | |
tree | 4957e1a261c4bb229aeb112076597605e73167aa /slick.grid.js | |
parent | a146f55224a4ce008105bcc3296db365a614bf8b (diff) | |
download | SlickGrid-a648d5adf6828c66481e844f5d913f360fe56e41.zip SlickGrid-a648d5adf6828c66481e844f5d913f360fe56e41.tar.gz SlickGrid-a648d5adf6828c66481e844f5d913f360fe56e41.tar.bz2 |
Added "onHeaderMouseEnter" and "onHeaderMouseLeave" events for column headers.
Diffstat (limited to 'slick.grid.js')
-rw-r--r-- | slick.grid.js | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/slick.grid.js b/slick.grid.js index c1397b3..3035f53 100644 --- a/slick.grid.js +++ b/slick.grid.js @@ -272,7 +272,9 @@ if (typeof Slick === "undefined") { .bind("scroll.slickgrid", handleScroll); $headerScroller .bind("contextmenu.slickgrid", handleHeaderContextMenu) - .bind("click.slickgrid", handleHeaderClick); + .bind("click.slickgrid", handleHeaderClick) + .delegate(".slick-header-column", "mouseenter", handleHeaderMouseEnter) + .delegate(".slick-header-column", "mouseleave", handleHeaderMouseLeave); $focusSink .bind("keydown.slickgrid", handleKeyDown); $canvas @@ -460,7 +462,7 @@ if (typeof Slick === "undefined") { $headers.find(".slick-header-column") .each(function() { - var columnDef = columns[columnsById[$(this).data("fieldId")]]; + var columnDef = $(this).data("column"); if (columnDef) { trigger(self.onBeforeHeaderDestroy, { "headerNode": this, @@ -481,7 +483,7 @@ if (typeof Slick === "undefined") { .html("<span class='slick-column-name'>" + m.name + "</span>") .width(m.width - headerColumnWidthDiff) .attr("title", m.toolTip || "") - .data("fieldId", m.id) + .data("column", m) .addClass(m.headerCssClass || "") .appendTo($headers); @@ -531,7 +533,7 @@ if (typeof Slick === "undefined") { return; } - var column = columns[getColumnIndex($col.data("fieldId"))]; + var column = $col.data("column"); if (column.sortable) { if (!getEditorLock().commitCurrentEdit()) { return; @@ -1924,15 +1926,27 @@ if (typeof Slick === "undefined") { } } + function handleHeaderMouseEnter(e) { + trigger(self.onHeaderMouseEnter, { + "column": $(this).data("column") + }, e); + } + + function handleHeaderMouseLeave(e) { + trigger(self.onHeaderMouseLeave, { + "column": $(this).data("column") + }, e); + } + function handleHeaderContextMenu(e) { var $header = $(e.target).closest(".slick-header-column", ".slick-header-columns"); - var column = $header && columns[self.getColumnIndex($header.data("fieldId"))]; + var column = $header && $header.data("column"); trigger(self.onHeaderContextMenu, {column: column}, e); } function handleHeaderClick(e) { var $header = $(e.target).closest(".slick-header-column", ".slick-header-columns"); - var column = $header && columns[self.getColumnIndex($header.data("fieldId"))]; + var column = $header && $header.data("column"); if (column) { trigger(self.onHeaderClick, {column: column}, e); } @@ -2783,6 +2797,8 @@ if (typeof Slick === "undefined") { // Events "onScroll": new Slick.Event(), "onSort": new Slick.Event(), + "onHeaderMouseEnter": new Slick.Event(), + "onHeaderMouseLeave": new Slick.Event(), "onHeaderContextMenu": new Slick.Event(), "onHeaderClick": new Slick.Event(), "onHeaderRendered": new Slick.Event(), |