From 979f08e4df057d3d6a5e9f9bc3da28625ac3e320 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 12 Mar 2015 15:50:15 -0400
Subject: [PATCH] Fix javascripts errors in IE8 - lack of Event.which, focusing a hidden element (#1490318)

---
 program/js/list.js |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/program/js/list.js b/program/js/list.js
index 7e84ef2..9c41a12 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -131,7 +131,7 @@
   }
 
   if (this.parent_focus) {
-    this.list.parentNode.onclick = function(e) { me.focus(e); };
+    this.list.parentNode.onclick = function(e) { me.focus(); };
   }
 
   return this;
@@ -150,11 +150,11 @@
     var self = this, uid = row.uid;
     this.rows[uid] = {uid:uid, id:row.id, obj:row};
 
-    // set eventhandlers to table row
-    row.onmousedown = function(e){ return self.drag_row(e, this.uid); };
-    row.onmouseup = function(e){ return self.click_row(e, this.uid); };
+    // set eventhandlers to table row (only left-button-clicks in mouseup)
+    $(row).mousedown(function(e) { return self.drag_row(e, this.uid); })
+      .mouseup(function(e) { if (e.which == 1) return self.click_row(e, this.uid); });
 
-    if (bw.touch) {
+    if (bw.touch && row.addEventListener) {
       row.addEventListener('touchstart', function(e) {
         if (e.touches.length == 1) {
           self.touchmoved = false;
@@ -219,7 +219,7 @@
         if (this.column_fixed == r)
           continue;
         col = this.thead.rows[0].cells[r];
-        col.onmousedown = function(e){ return p.drag_column(e, this); };
+        col.onmousedown = function(e) { return p.drag_column(e, this); };
         this.colcount++;
       }
     }
@@ -240,8 +240,8 @@
     $(this.list).before(this.fixed_header);
 
     var me = this;
-    $(window).resize(function(){ me.resize() });
-    $(window).scroll(function(){
+    $(window).resize(function() { me.resize(); });
+    $(window).scroll(function() {
       var w = $(window);
       me.fixed_header.css('marginLeft', (-w.scrollLeft()) + 'px');
       if (!bw.webkit)
@@ -270,14 +270,14 @@
     var column_widths = [];
 
     // get column widths from original thead
-    $(this.tbody).parent().find('thead tr td').each(function(index) {
+    $(this.tbody).parent().find('thead th,thead td').each(function(index) {
       column_widths[index] = $(this).width();
     });
 
     // apply fixed widths to fixed table header
     $(this.thead).parent().width($(this.tbody).parent().width());
-    $(this.thead).find('tr td').each(function(index) {
-      $(this).css('width', column_widths[index]);
+    $(this.thead).find('th,td').each(function(index) {
+      $(this).width(column_widths[index]);
     });
 
     $(window).scroll();

--
Gitblit v1.9.1