table_obj.js
来自「proe5.0野火版下载(中文版免费下载)」· JavaScript 代码 · 共 1,808 行 · 第 1/4 页
JS
1,808 行
result += generateOneRow ( table.tableHeadersData , row , color , format ) ; } else { skipped_num ++ ; } } return result ;}/*--------------------------------------------------------------------------*\| Function: setAllRowsVisiblity| Purpose: function sets the visibility of rows| Input: table - table object| call_show_cbs - should we call the show row cbs.| Output: | Return: \*--------------------------------------------------------------------------*/function setAllRowsVisiblity ( table , call_show_cbs ){ var index_array = new Array () ; var cbs = table.showRowsCBs ; if ( call_show_cbs ) { for ( var i = 0 ; i < cbs.length ; i ++ ) { if ( cbs[i].type = "IsShowRow" ) appendToArray ( index_array , i ) ; } } for ( var row = 0 ; row < table.tableRowsData.length ; row++ ) { // first check the IsShowRowsCBs var show_row ; var row_object = table.tableRowsData[row] ; if ( call_show_cbs ) show_row = 1 ; else if ( row_object.visible == SHOW ) show_row = 1 ; else show_row = 0 ; for ( var index = 0 ; index < index_array.length ; index ++ ) { if ( call_show_cbs ) { var cb = cbs[index] ; show_row = cb.cbFunc ( table.table_id , row , cb.data1 , cb.data2 ) ; } if ( show_row == 0 ) break ; } row_object.visible = show_row ? SHOW : HIDE ; }}/*--------------------------------------------------------------------------*\| Function: generateTableTitle| Purpose: function creates html output for a table header| Input: table - table object| format - text format , or html format| Output: | Return: resulting html/text of a table header ( currently only text )\*--------------------------------------------------------------------------*/function generateTableTitle ( table , format ){ var result = '' ; if ( isTextFormat ( format ) ) { if ( table.tableTitle != null ) result += table.tableTitle ; result += '\n' ; } return result ;}/*--------------------------------------------------------------------------*\| Function: isRowVisible| Purpose: function checks if the specified row is visible| Input: table - table object| row - row index| Output: | Return: 1/0 visible or not\*--------------------------------------------------------------------------*/function isRowVisible ( table , row ){ var result = 0 ; var row_object = table.tableRowsData[row] ; if ( row_object.visible == SHOW ) result = 1 ; return result ;}/*--------------------------------------------------------------------------*\| Function: getNumVisibleRows| Purpose: returns the number of visible rows| Input: table - table object| Output: | Return: number of visible rows\*--------------------------------------------------------------------------*/function getNumVisibleRows ( table ){ var result = 0 ; for ( var i = 0 ; i < table.tableRowsData.length ; i++ ) result += isRowVisible ( table , i ) ; return result ;}/*--------------------------------------------------------------------------*\| Function: generateOneHeader| Purpose: function creates html output for a table header| Input: table - table object| header - header object| table_index - table index in tables array| header_index - header index in headers array| format - text format , or html format| Output: | Return: resulting html/text of a table header\*--------------------------------------------------------------------------*/function generateOneHeader ( table , header , table_index , header_index , format ){ var result = '' ; if ( format == HTML_FORMAT && header.showHeader == true ) { var onclickstring = ''; if (header.allow_sort == ALLOW_SORT) { onclickstring += 'onclick="columnClicked(' ; onclickstring += table_index + ',' + header_index + ')" id="HEADER_' ; onclickstring += table.escaped_table_id + '_ESC_' + header.headerUniqueName ; onclickstring += '" style="cursor:pointer" ' ; } result += '<td nowrap="TRUE" class="tablecolumnheaderbg">' ; result += '<div ptc="ptc_no_spacing">' ; result += '</div>' ; result += '<table cellpadding="0" cellspacing="0" border="0" width="100%" >' ; result += ' <tr> ' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td colspan="5" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' </tr>' ; result += ' <tr> ' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td colspan="4" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td width="1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' </tr>' ; result += ' <tr ' if (header.allow_sort == ALLOW_SORT) { result += onclickstring ; } result += ' > ' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td nowrap="TRUE" class="tablecolumnheaderfont">' ; result += header.headerName ; result += '</td>' ; result += ' <td nowrap="TRUE" ><img src="' + SpGif + '" width="4" height="1"/>' ; if (header.allow_sort == ALLOW_SORT) { result += '<img src="' + getProperArrow ( header ) ; result += '" hspace="2" vspace="0" border="0" align="middle"' ; result += '" width="9" height="8" />' ; } result += '</td>' ; result += ' <td width="1" class="tableColSdw2"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td width="1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' </tr>' ; result += ' <tr> ' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td width="1" class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td colspan="4" class="tableColSdw2"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td width="1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' </tr>' ; result += ' <tr> ' ; result += ' <td class="tableColSdw1"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' <td colspan="6" class="tableColSdw2"><img src="' + SpGif + '" width="1" height="1"/></td>' ; result += ' </tr>' ; result += '</table>' ; result += '<div ptc="ptc_yes_spacing">' ; result += '</div>' ; result += '</td>' ; } else if ( format == HTML_FORMAT ) { result += '<td nowrap="TRUE" class="tablecolumnheaderbg"></td>' ; } else if ( header.showHeader == true ) { result += header.headerName ; result += getProperDelimiter ( format ) ; } else { result += getProperDelimiter ( format ) ; } return result ;}/*--------------------------------------------------------------------------*\| Function: generateAllHeaders| Purpose: function creates html output for all table headers| Input: table - table object| format - text format , or html format| Output: | Return: resulting html/text of a table headers\*--------------------------------------------------------------------------*/function generateAllHeaders ( table , format ){ var result = '' ; var table_index = getTableIndexByID ( table.table_id ) ; if ( format == HTML_FORMAT ) result += '<tr>' ; for ( var col = 0 ; col < table.tableHeadersData.length ; col++ ) { if ( table.tableHeadersData[col].visible == SHOW && ( format == HTML_FORMAT || table.tableHeadersData[col].textFormatVisibility == SHOW ) ) result += generateOneHeader ( table , table.tableHeadersData[col] , table_index , col , format ) ; } if ( format == HTML_FORMAT ) result += '</tr>' ; return result ;}/*--------------------------------------------------------------------------*\| Function: generateOneTable| Purpose: function creates html output for a table| Input: table - table object| call_show_cbs - should we call the show row cbs.| format - text format , or html format| sort_rows - should we sort the rows.| Output: | Return: resulting html/text of a table\*--------------------------------------------------------------------------*/function generateOneTable ( table , call_show_cbs , format , sort_rows ){ var result = '' ; if ( format == HTML_FORMAT ) result += '<table cellpadding="5" cellspacing="0" border="0" class="tablecellsepbg" width="100%">' ; setAllRowsVisiblity ( table , call_show_cbs ) ; if ( isTextFormat ( format ) ) result += generateTableTitle ( table , format ) ; if ( getNumVisibleRows ( table ) > 0 || table.emptyMsgs.length == 0 ) { if ( table.visibleHeaders == true ) result += generateAllHeaders ( table , format ) ; if ( isTextFormat ( format ) ) result += '\n' ; if ( sort_rows == true ) sortRows ( table ) ; result += generateAllRows ( table , format ) ; } else if ( table.emptyMsgs.length != 0 ) { result += generateEmptyMsgRows ( table.emptyMsgs , format ) ; } if ( format == HTML_FORMAT ) result += '</table>' ; else result += '\n' ; return result ;}/*--------------------------------------------------------------------------*\| Function: generateTable| Purpose: function creates html output for a table| Input: table - table object| call_show_cbs - should we call the show row cbs.| format - text format , or html format| sort_rows - should we sort the rows.| Output: | Return: when TEXT_FORMAT the text of the table , otherwise nothing\*--------------------------------------------------------------------------*/function generateTable ( table , call_show_cbs , format , sort_rows ){ var result = generateOneTable ( table , call_show_cbs , format , sort_rows ); if ( format == HTML_FORMAT ) { var e = document.getElementById ( 'TABLE_' + table.table_id ) ; if ( table.collapsible == true ) { var display = ( table.collapsed == true ? "none" : "" ) ; var image = ( table.collapsed == true ? ExpandImage : CollapseImage ) ; e.style.display = display ; document.getElementById ( "COLLAPSE_" + table.table_id ).src = image ; } if ( table.tableHeight > -1 ) { e.style.height = table.tableHeight + 'px' ; e.style.overflow = 'auto' ; } e.innerHTML = result ; } return result ;}/*--------------------------------------------------------------------------*\| Function: redrawOneTable| Purpose: function creates html output for one table with the show rows cbs| Input: table_id - table unique name| Output: | Return: \*--------------------------------------------------------------------------*/function redrawOneTable ( table_id ){ var table_index = getTableIndexByID ( table_id ) ; if ( table_index >= 0 ) generateTable ( tables[table_index] , 1 , HTML_FORMAT , false ) ;}/*--------------------------------------------------------------------------*\| Function: redrawAllTables| Purpose: function creates html output for all tables with the show rows cbs| Input: | Output: | Return: \*--------------------------------------------------------------------------*/function redrawAllTables (){ for ( var i = 0 ; i < tables.length ; i ++ ) { generateTable ( tables[i] , 1 , HTML_FORMAT , false ) ; }}/*--------------------------------------------------------------------------*\| Function: generateAllTables| Purpose: function creates html output for all tables| Input: | Output: | Return: \*--------------------------------------------------------------------------*/function generateAllTables (){ for ( var i = 0 ; i < tables.length ; i ++ ) { generateTable ( tables[i] , 0 , HTML_FORMAT , true ) ; }}/*--------------------------------------------------------------------------*\| Function: dumpAllTables| Purpose: function creates txt output for all tables| Input: file_name - file name to write to| Output: | Return: \*--------------------------------------------------------------------------*/function dumpAllTables ( file_name , comma_delimited ){ var result = '' ; var prev_index = 0 ; for ( var i = 0 ; i < tables.length ; i ++ ) { // first dump all the text rows at this level for ( var j = prev_index ; j < textRows.length ; j++ ) { prev_index = j ; if ( textRows[j].beforeIndex == i ) result += textRows[j].text + '\n' ; else break ; } var format = ( comma_delimited == 1 ? TEXT_FORMAT_COMMA : TEXT_FORMAT_TABS ) ; result += generateTable ( tables[i] , 0 , format , false ) ; } export_report_to_file ( result , file_name ) ;}/*--------------------------------------------------------------------------*\| Function: toggleTableCollapsed| Purpose: function collapse or expand the rows of the current table| Input: | Output: | Return: \*--------------------------------------------------------------------------*/function toggleTableCollapsed ( table_id , collapse_image , expand_image ){ var e = document.getElementById ( "TABLE_" + table_id ) ; var c = document.getElementById ( "COLLAPSE_" + table_id ) ; var index = getTableIndexByID (table_id) ; var table = null ; if ( index >= 0 ) // we have javascript table { table = tables[index] ; } if ( e.style.display == "none") { if ( table != null ) table.collapsed = false ; e.style.display = "" ; c.src = collapse_image ; } else { if ( table != null ) table.collapsed = true ; e.style.display = "none" ; c.src = expand_image ; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?