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 + -
显示快捷键?