33 lines
		
	
	
		
			701 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			701 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const table = {}
 | 
						|
 | 
						|
table.create = function (data, cols) {
 | 
						|
  let output = '<table>\n'
 | 
						|
 | 
						|
  output += '  <thead>\n    <tr>'
 | 
						|
  for (let column of cols) {
 | 
						|
    output += `<th align="left">${column.name}</th>`
 | 
						|
  }
 | 
						|
  output += '</tr>\n  </thead>\n'
 | 
						|
 | 
						|
  output += '  <tbody>\n'
 | 
						|
  for (let item of data) {
 | 
						|
    output += '    <tr>'
 | 
						|
    let i = 0
 | 
						|
    for (let prop in item) {
 | 
						|
      const column = cols[i]
 | 
						|
      let nowrap = column.nowrap ? ` nowrap` : ''
 | 
						|
      let align = column.align ? ` align="${column.align}"` : ''
 | 
						|
      output += `<td${align}${nowrap}>${item[prop]}</td>`
 | 
						|
      i++
 | 
						|
    }
 | 
						|
    output += '</tr>\n'
 | 
						|
  }
 | 
						|
  output += '  </tbody>\n'
 | 
						|
 | 
						|
  output += '</table>'
 | 
						|
 | 
						|
  return output
 | 
						|
}
 | 
						|
 | 
						|
module.exports = table
 |