table
thead(v-if="!onlybody")
tr(v-for="column in columnsRows")
th(
v-for="item in column.columns"
:style="getTHCellStyle(item)"
:colspan="item.colspan"
:rowspan="item.rowspan"
:class="getColumnClassName(item)"
)
span.c-table__check(v-if="item.type === 'selection'")
c-checkbox(
v-model="allSelect"
:indeterminate="checkIndeterminate"
@change="onSelectAllChange"
)
slot(:name="item.key + '-base-th'")
span {{item.title}}
span.c-table__sort(v-if="item.sorter")
.c-sort-asc(
:class="{'sorted': checkSorted(item.key, 'asc')}"
@click="onSorted(item.key, 'asc')"
)
i.sort-asc
.c-sort-desc(
:class="{'sorted': checkSorted(item.key, 'desc')}"
@click="onSorted(item.key, 'desc')"
)
i.sort-desc
tbody(v-if="!onlyhead")
tr(
v-if="dataList.length == 0"
)
td.c-table__noresult(:colspan="columns.length") {{noresultMsg}}
template(v-for="dataItem,index in dataList" v-else)
tr(
@mouseenter="setCurrentItem(dataItem, index)"
@mouseleave="resetCurrentItem"
:class="getRowClassName(dataItem, index)"
)
td(
v-for="columnsItem,colIndex in allColumns"
:style="getCellStyle(columnsItem)"
:class="getColumnClassName(columnsItem)"
@click="openExpand(dataItem, columnsItem, index, colIndex)"
:colspan="tdSpanMethod(dataItem, columnItem, index, colIndex).colspan"
:rowspan="tdSpanMethod(dataItem, columnItem, index, colIndex).rowspan"
v-if="tdSpanMethod(dataItem, columnItem, index, colIndex).rowspan && tdSpanMethod(dataItem, columnItem, index, colIndex).colspan"
)
slot(
:name="columnsItem.key + '-base-td'"
:item="dataItem"
:rowIndex="index"
)
span.c-table__expand(v-if="columnsItem.type === 'expand'")
c-icon(name="chevron-down" v-if="dataItem._showExpand")
c-icon(name="chevron-right" v-else)
span.c-table__check(v-if="columnsItem.type === 'selection'")
c-checkbox(
v-model="dataItem._checked"
:disabled="dataItem._disabled"
@change="onSelectChange"
)
div(
v-if="columnsItem.render"
v-html="columnsItem.render(index, dataItem[columnsItem.key], dataItem)"
)
span(v-else) {{dataItem[columnsItem.key]}}
tr(v-if="hasExpand && dataItem._showExpand")
td(:colspan="allColumns.length")
slot(name="expandRow" :row="dataItem")