Aleksander Machniak
2013-10-14 075574c81f6d8c1db3c2f2dba1a3f084fcb810d8
Use onclick even for status, flag and expando actions to fix issue
where mouse right click would invoke action where it shouldn't
2 files modified
8 ■■■■ changed files
program/js/app.js 6 ●●●● patch | view | raw | blame | history
program/js/list.js 2 ●●● patch | view | raw | blame | history
program/js/app.js
@@ -1713,7 +1713,7 @@
    // set eventhandler to status icon
    if (row.icon = document.getElementById(status_icon)) {
      row.icon._row = row.obj;
      row.icon.onmousedown = function(e) { self.command('toggle_status', this); rcube_event.cancel(e); };
      row.icon.onclick = function(e) { self.command('toggle_status', this); return rcube_event.cancel(e); };
    }
    // save message icon position too
@@ -1725,12 +1725,12 @@
    // set eventhandler to flag icon, if icon found
    if (this.env.flagged_col != null && (row.flagicon = document.getElementById('flagicn'+row.uid))) {
      row.flagicon._row = row.obj;
      row.flagicon.onmousedown = function(e) { self.command('toggle_flag', this); rcube_event.cancel(e); };
      row.flagicon.onclick = function(e) { self.command('toggle_flag', this); return rcube_event.cancel(e); };
    }
    if (!row.depth && row.has_children && (expando = document.getElementById('rcmexpando'+row.uid))) {
      row.expando = expando;
      expando.onmousedown = function(e) { return self.expand_message_row(e, uid); };
      expando.onclick = function(e) { return self.expand_message_row(e, uid); };
      if (bw.touch) {
        expando.addEventListener('touchend', function(e) {
          if (e.changedTouches.length == 1) {
program/js/list.js
@@ -409,7 +409,7 @@
  var evtarget = rcube_event.get_target(e),
    tagname = evtarget.tagName.toLowerCase();
  if (this.dont_select || (evtarget && (tagname == 'input' || tagname == 'img')))
  if (this.dont_select || (evtarget && (tagname == 'input' || tagname == 'img' || evtarget.onclick)))
    return true;
  // accept right-clicks