class TableBuilder
@render_tbody: (obj) ->
TableBuilder.obj = obj
TableBuilder.html = ""
TableBuilder.make_table()
return TableBuilder.html
@make_table: ->
for row in TableBuilder.obj.data
do (row) ->
TableBuilder.html += '
'
# todo make possible to insertt function on the first or last column
TableBuilder.add_row_checkboxes(row)
TableBuilder.add_row_functions(row)
TableBuilder.add_row_columns(row)
TableBuilder.html += '
'
TableBuilder.add_summary_row()
@add_summary_row: ->
functions_present = TableBuilder.obj.row? && TableBuilder.obj.row.functions?
# code for sumarizes of the page (paginated)
summarize_page_present = false
summarize_page = ""
summarize_page += '
'
# todo make sure functions collumn got skipped when placement is different, eg. on the end
summarize_page += '
Celkem na strĂ¡nce:
' if TableBuilder.obj.checkboxes?
summarize_page += '
' if functions_present
col_count = 0
for col in TableBuilder.obj.columns
do (col) ->
col_count += 1
# the sumarize label has 2 colspan, so it has to be without 1 first column if there is no function column
unless col_count == 1 && !functions_present
summarize_page += '
'
summarize_page += if col.summarize_page_label? then col.summarize_page_label else ''
summarize_page += ''
summarize_page += if col.summarize_page_value? then col.summarize_page_value else 0
summarize_pagel += ''
summarize_page += '
'
summarize_page += '
'
summarize_page += '
'
TableBuilder.html += summarize_page if summarize_page_present
# code for sumarizes of the all filtered data (paginated is not used)
summarize_all_present = false
summarize_all = ""
summarize_all += '
'
summarize_all += '
Celkem:
' if TableBuilder.obj.checkboxes?
#it has colspan 2 so there is no function column
#summarize_all += '
' if functions_present
col_count = 0
for col in TableBuilder.obj.columns
do (col) ->
col_count += 1
# the sumarize label has 2 colspan, so it has to without 1 first column if there is no function column
unless col_count == 1 && !functions_present
summarize_all += '