MCPcopy
hub / github.com/apache/echarts / createDataTableHTML

Function createDataTableHTML

test/lib/testHelper.js:3010–3067  ·  view source on GitHub ↗
(data, opt)

Source from the content-addressed store, hash-verified

3008 }
3009
3010 function createDataTableHTML(data, opt) {
3011 var sourceFormat = detectSourceFormat(data);
3012 var dataTableLimit = opt.dataTableLimit || DEFAULT_DATA_TABLE_LIMIT;
3013
3014 if (!sourceFormat) {
3015 return '';
3016 }
3017
3018 var html = ['<table><tbody>'];
3019
3020 if (sourceFormat === 'arrayRows') {
3021 for (var i = 0; i < data.length && i <= dataTableLimit; i++) {
3022 var line = data[i];
3023 var htmlLine = ['<tr>'];
3024 for (var j = 0; j < line.length; j++) {
3025 var val = i === dataTableLimit ? '...' : line[j];
3026 htmlLine.push('<td>' + encodeHTML(val) + '</td>');
3027 }
3028 htmlLine.push('</tr>');
3029 html.push(htmlLine.join(''));
3030 }
3031 }
3032 else if (sourceFormat === 'objectRows') {
3033 for (var i = 0; i < data.length && i <= dataTableLimit; i++) {
3034 var line = data[i];
3035 var htmlLine = ['<tr>'];
3036 for (var key in line) {
3037 if (line.hasOwnProperty(key)) {
3038 var keyText = i === dataTableLimit ? '...' : key;
3039 htmlLine.push('<td class="test-data-table-key">' + encodeHTML(keyText) + '</td>');
3040 var val = i === dataTableLimit ? '...' : line[key];
3041 htmlLine.push('<td>' + encodeHTML(val) + '</td>');
3042 }
3043 }
3044 htmlLine.push('</tr>');
3045 html.push(htmlLine.join(''));
3046 }
3047 }
3048 else if (sourceFormat === 'keyedColumns') {
3049 for (var key in data) {
3050 var htmlLine = ['<tr>'];
3051 htmlLine.push('<td class="test-data-table-key">' + encodeHTML(key) + '</td>');
3052 if (data.hasOwnProperty(key)) {
3053 var col = data[key] || [];
3054 for (var i = 0; i < col.length && i <= dataTableLimit; i++) {
3055 var val = i === dataTableLimit ? '...' : col[i];
3056 htmlLine.push('<td>' + encodeHTML(val) + '</td>');
3057 }
3058 }
3059 htmlLine.push('</tr>');
3060 html.push(htmlLine.join(''));
3061 }
3062 }
3063
3064 html.push('</tbody></table>');
3065
3066 return html.join('');
3067 }

Callers 1

initDataTablesFunction · 0.85

Calls 2

encodeHTMLFunction · 0.85
detectSourceFormatFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…