summaryrefslogtreecommitdiffstats
path: root/slick.grid.js
diff options
context:
space:
mode:
authormleibman <michael.leibman@gmail.com>2012-06-17 19:10:56 -0700
committermleibman <michael.leibman@gmail.com>2012-06-17 19:10:56 -0700
commita648d5adf6828c66481e844f5d913f360fe56e41 (patch)
tree4957e1a261c4bb229aeb112076597605e73167aa /slick.grid.js
parenta146f55224a4ce008105bcc3296db365a614bf8b (diff)
downloadSlickGrid-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.js28
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(),