alecpl
2010-03-09 4d81544057bae4fcacaa20b629a159f625c7de4d
- messages list performance: build subject link on client side


2 files modified
15 ■■■■ changed files
program/js/app.js 10 ●●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 5 ●●●●● patch | view | raw | blame | history
program/js/app.js
@@ -3900,7 +3900,15 @@
    col.className = 'icon';
    col.innerHTML = icon ? '<img src="'+icon+'" alt="" />' : '';
    row.appendChild(col);
    // build subject link
    if (!bw.ie && cols.subject) {
      var action = cols.mbox == this.env.drafts_mailbox ? 'compose' : 'show';
      var uid_param = cols.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid';
      cols.subject = '<a href="./?_task=mail&_action='+action+'&_mbox='+urlencode(cols.mbox)+'&'+uid_param+'='+uid+'"'+
         ' onclick="return rcube_event.cancel(event)">'+cols.subject+'</a>';
    }
    // add each submitted col
    for (var n = 0; n < this.coltypes.length; n++) {
      var c = this.coltypes[n];
program/steps/mail/func.inc
@@ -440,11 +440,10 @@
        $cont = Q(rcmail_address_string($header->$col, 3), 'show');
      else if ($col=='subject')
        {
        $action = $mbox==$CONFIG['drafts_mbox'] ? 'compose' : 'show';
        $uid_param = $mbox==$CONFIG['drafts_mbox'] ? '_draft_uid' : '_uid';
    $cont = abbreviate_string(trim($IMAP->decode_header($header->$col)), 160);
        if (!$cont) $cont = rcube_label('nosubject');
        $cont = $browser->ie ? Q($cont) : sprintf('<a href="%s" onclick="return rcube_event.cancel(event)">%s</a>', Q(rcmail_url($action, array($uid_param=>$header->uid, '_mbox'=>$mbox))), Q($cont));
    $cont = Q($cont);
    $a_msg_cols['mbox'] = $mbox;
        }
      else if ($col=='size')
        $cont = show_bytes($header->$col);