%
var opt = $data.opt;
var i, l, j, l2, seq, isOdd, item, columnIndex, columnValue, reactElement, displayValue, title, ids, checkable, rowClickable, cellClickable;
if(renderData.length) {
for(i = 0, l = renderData.length; i < l; i++) {
item = dataProperty ? renderData[i][dataProperty] : renderData[i];
if(isHeaderData) {
isOdd = i % 2 === 0;
} else if(opt.isOddRow) {
isOdd = opt.isOddRow(item, isPrevOdd);
} else {
isOdd = (i + headerData.length) % 2 === 0;
}
isPrevOdd = isOdd;
rowClickable = opt.getRowClickable ? opt.getRowClickable(i, item, isHeaderData) : !isHeaderData;
_this._tmp.reactElements[i] = _this._tmp.reactElements[i] || [];
_this._tmp.headerReactElements[i] = _this._tmp.headerReactElements[i] || [];
%>
="<%=i%>" class="<%=i == l - 1 ? 'yom-data-grid-last-row' : ''%> <%=isOdd ? 'yom-data-grid-row-odd' : ''%> <%=rowClickable && opt.onRowClick ? 'yom-data-grid-row-clickable' : ''%> <%=opt.getRowClassName ? opt.getRowClassName(i, item, isHeaderData) : ''%> <%=selectedIndex.length && selectedIndex.indexOf(i) >= 0 ? 'yom-data-grid-row-checked' : ''%>">
<%for(j = 0, l2 = columns.length; j < l2; j++) {
columnIndex = j + columnOffset;
column = columns[j];
ids = column.id.replace(/\[(\w+)\]/g, '.$1').split('.');
columnValue = item[ids.shift()];
while(ids.length && columnValue && typeof columnValue == 'object') {
columnValue = columnValue[ids.shift()];
}
if(columnValue != null && columnValue.toString) {
columnValue = columnValue.toString();
}
cellClickable = opt.getCellClickable ? opt.getCellClickable(i, item, column.id, column, isHeaderData) : !isHeaderData;
reactElement = null;
if(column.reactRenderer) {
reactElement = column.reactRenderer.call(_this, columnValue || '', i, item, {columnIndex: columnIndex, column: column, isHeaderData: isHeaderData});
if(reactElement) {
_this._tmp[isHeaderData ? 'headerReactElements' : 'reactElements'][i][columnIndex] = reactElement;
} else {
displayValue = $encodeHtml(columnValue || '');
}
} else if(column.renderer) {
displayValue = column.renderer.call(_this, $encodeHtml(columnValue || ''), i, item, {columnIndex: columnIndex, column: column, isHeaderData: isHeaderData});
if(displayValue == null) {
displayValue = '';
} else if(cellClickable && (column.clickable || column.onClick)) {
displayValue = '' + displayValue + '';
}
} else {
if(columnValue && cellClickable && (column.clickable || column.onClick)) {
displayValue = '' + $encodeHtml(columnValue || '') + '';
} else {
displayValue = $encodeHtml(columnValue || '');
}
}
if(column.titleRenderer) {
title = column.titleRenderer.call(_this, columnValue || '', i, item, {columnIndex: columnIndex, column: column, isHeaderData: isHeaderData});
} else if(typeof column.title != 'undefined') {
if(column.title == '__content__') {
title = displayValue;
} else {
title = column.title;
}
} else if(column.reactRenderer) {
title = columnValue || '';
} else if(column.renderer) {
if(cellClickable && (column.clickable || column.onClick)) {
title = column.renderer.call(_this, $encodeHtml(columnValue || ''), i, item, {columnIndex: columnIndex, column: column, isHeaderData: isHeaderData});
if(title == null) {
title = '';
}
} else {
title = displayValue;
}
} else {
title = columnValue || '';
}
%>
>
<%if(column.type == 'sequence') {
if(isHeaderData) {
seq = 0;
} else if(opt.getSequence) {
seq = opt.getSequence(item, nextSeq);
nextSeq = seq > 0 ? seq + 1 : nextSeq;
} else {
seq = i + 1;
}
%>
<%=seq > 0 ? seq : ' '%>
<%} else if(column.type == 'checkbox') {
checkable = !checkbox || !checkbox.checkable || checkbox.checkable(item, i);
if(isHeaderData) {%>
<%} else if(checkable) {%>
= 0 ? 'checked' : ''%> />
<%} else {%>
<%}
} else {%>
<%=reactElement ? '' : (displayValue || ' ')%>
<%}%>
|
<%}%>
<%}
} else if(!isHeaderData) {%>
<%for(j = 0, l2 = columns.length; j < l2; j++) {%>
|
<%}%>
<%}%>