thomascube
2008-02-13 d24d208d1c9b952cc0c1fdcd1c30cb0150ad53ac
Always use subject col when dragging messages

3 files modified
29 ■■■■ changed files
program/js/app.js 7 ●●●● patch | view | raw | blame | history
program/js/list.js 21 ●●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 1 ●●●● patch | view | raw | blame | history
program/js/app.js
@@ -146,6 +146,9 @@
          else
            this.message_list.focus();
          }
        if (this.env.coltypes)
          this.set_message_coltypes(this.env.coltypes);
        // enable mail commands
        this.enable_command('list', 'checkmail', 'compose', 'add-contact', 'search', 'reset-search', true);
@@ -3183,8 +3186,10 @@
        cell.id = 'rcmHead'+col;
        }
      if (col == 'subject' && this.message_list)
        this.message_list.subject_col = n+1;
      }
  };
  // create a table row in the message list
program/js/list.js
@@ -32,8 +32,8 @@
  this.rows = [];
  this.selection = [];
  
  this.subject_col = -1;
  this.shiftkey = false;
  this.multiselect = false;
  this.draggable = false;
  this.keyboard = false;
@@ -618,7 +618,7 @@
  
    // get subjects of selectedd messages
    var names = '';
    var c, node, subject, obj;
    var c, i, node, subject, obj;
    for(var n=0; n<this.selection.length; n++)
    {
      if (n>12)  // only show 12 lines
@@ -632,13 +632,20 @@
        obj = this.rows[this.selection[n]].obj;
        subject = '';
        for(c=0; c<obj.childNodes.length; c++)
          if (obj.childNodes[c].nodeName=='TD' && (node = obj.childNodes[c].firstChild) && (node.nodeType==3 || node.nodeName=='A'))
        for(c=0, i=0; i<obj.childNodes.length; i++)
        {
          if (obj.childNodes[i].nodeName == 'TD')
          {
            subject = node.nodeType==3 ? node.data : node.innerHTML;
            names += (subject.length > 50 ? subject.substring(0, 50)+'...' : subject) + '<br />';
            break;
            if (((node = obj.childNodes[i].firstChild) && (node.nodeType==3 || node.nodeName=='A')) &&
              (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c)))
            {
              subject = node.nodeType==3 ? node.data : node.innerHTML;
              names += (subject.length > 50 ? subject.substring(0, 50)+'...' : subject) + '<br />';
              break;
            }
            c++;
          }
        }
      }
    }
program/steps/mail/func.inc
@@ -290,6 +290,7 @@
    $OUTPUT->set_env('attachmenticon', $skin_path . $attrib['attachmenticon']);
  
  $OUTPUT->set_env('messages', $a_js_message_arr);
  $OUTPUT->set_env('coltypes', $a_show_cols);
  
  $OUTPUT->include_script('list.js');