Changeset 1167

Show
Ignore:
Timestamp:
08/31/10 18:03:01 (18 months ago)
Author:
zeank
Message:

show input for adding comment also when comments are collapsed (refs #203)

Location:
HelpIM3/htdocs
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • HelpIM3/htdocs/functions.js

    r1151 r1167  
    432432    }, 
    433433 
    434     expandAll: function() { 
    435         var elements = document.getElementsByClassName("comment_row"); 
    436         for(i=0; i < elements.length; i++) { 
    437                                         elements[i].style.display = ''; 
    438         } 
    439         return; 
     434    expandAll: function(className) { 
     435        document.getElementsByClassName(className).forEach(HIM.el.show); 
    440436    }, 
    441437 
    442     colapseAll: function() { 
    443         var elements = document.getElementsByClassName("comment_row"); 
    444         for(i=0; i < elements.length; i++) { 
    445                                         elements[i].style.display = 'none'; 
    446         } 
    447         return; 
     438    colapseAll: function(className) { 
     439        document.getElementsByClassName(className).forEach(HIM.el.hide); 
    448440    }, 
    449441 
    450442    el: { 
     443        byId: function(id) { 
     444            return document.getElementById(id); 
     445        }, 
     446 
    451447        hide: function(el) { 
    452448            if (typeof el == 'string') // asume id given 
    453                 el = document.getElementById(el); 
     449                el = HIM.el.byId(el); 
    454450            el.style.display = 'none'; 
    455451        }, 
     
    457453        show: function(el) { 
    458454            if (typeof el == 'string') // asume id given 
    459                 el = document.getElementById(el); 
     455                el = HIM.el.byId(el); 
    460456            el.style.display = ''; 
    461457        }, 
     
    463459        toggle: function(el, activateFun, deactivateFun) { 
    464460            if (typeof el == 'string') // asume id given 
    465                 el = document.getElementById(el); 
     461                el = HIM.el.byId(el); 
    466462            if (el.style.display == 'none') { 
    467463                this.show(el); 
     
    486482 
    487483        _sibling: function(dir, element, nodeName) { 
     484            if (typeof element == 'string') 
     485                element = HIM.el.byId(element); 
     486            if (!element) 
     487                return; 
    488488            dir = (dir == 'next')?'nextSibling':'previousSibling'; 
    489489            var sibling = element[dir]; 
     
    501501 
    502502        firstChild: function(element, nodeName) { 
     503            if (typeof element == 'string') 
     504                element = HIM.el.byId(element); 
     505            if (!element) 
     506                return; 
    503507            for (var i=0; i<element.childNodes.length; i++) { 
    504508                if (element.childNodes.item(i).nodeName && 
     
    506510                    return element.childNodes.item(i); 
    507511            } 
    508             return; 
    509512        }, 
    510513 
    511514        parentNode: function(element, nodeName) { 
     515            if (typeof element == 'string') 
     516                element = HIM.el.byId(element); 
     517            if (!element) 
     518                return; 
    512519            var parent = element.parentNode; 
    513520            while (parent.nodeName.toLowerCase() != nodeName.toLowerCase() && 
     
    529536        var header = document.createElement('th') 
    530537        var linkp = document.createElement('a'); 
    531         linkp.setAttribute('href', 'javascript:HIM.expandAll()'); 
     538        linkp.setAttribute('href', 'javascript:HIM.expandAll("comment_row")'); 
    532539        linkp.appendChild(document.createTextNode('+')); 
    533540        var linkm = document.createElement('a'); 
    534         linkm.setAttribute('href', 'javascript:HIM.colapseAll()'); 
     541        linkm.setAttribute('href', 'javascript:HIM.colapseAll("comment_row")'); 
    535542        linkm.appendChild(document.createTextNode('-')); 
    536543        header.appendChild(linkp); 
     
    544551    comments.forEach( 
    545552        function(comment) { 
    546             var logMessage = HIM.el.prev(comment, 'tr'); 
     553            var logMessage = HIM.el.prev(HIM.el.prev(comment, 'tr'), 'tr'); 
    547554            if (!logMessage) 
    548555                return; 
     556 
     557            var comment_input_form =  
     558                HIM.el.firstChild( 
     559                    HIM.el.firstChild( 
     560                        'input_'+comment.id, 
     561                        'td'), 
     562                    'form'); 
     563 
     564            logMessage.onmouseover = function() { 
     565                unhideCommentInput(comment_input_form.id); 
     566            } 
     567            
    549568            // create new td with text 
    550569            var td = logMessage.appendChild(document.createElement('td')); 
  • HelpIM3/htdocs/xslt/HelpIM_html_UI_BSL.xslt

    r1166 r1167  
    10751075                <xsl:param name="rowData" /> 
    10761076                <xsl:param name="tableDef" /> 
    1077                 <tr class="comment_row" id="comment_row_{$rowData/@conv_msg_id}"> 
    1078                         <td colspan="{count($tableDef/table_column)}"> 
     1077                <tr class="comment_input_row" id="input_comment_row_{$rowData/@conv_msg_id}"> 
     1078                        <td colspan="{count($tableDef/table_column)+1}" nowrap="nowrap"> 
    10791079                                <!-- Form to add comment directly on chatline --> 
    1080                                 <div class="comment" onMouseOver="unhideCommentInput('cl_comment_{$rowData/@conv_msg_id}')"> 
    1081                                 <hr class="comment"/> 
    1082                                 </div> 
    10831080                                <form action="{$tableDef/@location}" method="post" class="comment" id="cl_comment_{$rowData/@conv_msg_id}"> 
    10841081                                        <input type="hidden" name="action" value="addComment"/> 
     
    10861083                                        <input type="text" name="comment_text"  class="comment" style="width: 80%;"/><input type="submit" value="{$tableDef/@submitText}" class="comment"/> 
    10871084                                </form> 
     1085                        </td> 
     1086                </tr> 
     1087                <tr class="comment_row" id="comment_row_{$rowData/@conv_msg_id}"> 
     1088                        <td colspan="{count($tableDef/table_column)+1}"> 
     1089                                <!-- Form to add comment directly on chatline --> 
    10881090                                <!-- comment on first level --> 
    10891091                                <xsl:if test="$rowData/ConvMessageComment">