mirror of
https://github.com/Karaka-Management/jsOMS.git
synced 2026-01-11 09:58:39 +00:00
46 lines
1.3 KiB
JavaScript
Executable File
46 lines
1.3 KiB
JavaScript
Executable File
/**
|
|
* Apped element to a table.
|
|
*
|
|
* @param {Object} action Action data
|
|
* @param {function} callback Callback
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
export function tableAppend (action, callback)
|
|
{
|
|
"use strict";
|
|
|
|
const table = document.getElementById(action.id),
|
|
tbody = table !== null && typeof table !== 'undefined' ? table.getElementsByTagName('tbody')[0] : null,
|
|
headers = table !== null && typeof table !== 'undefined' ? table.getElementsByTagName('thead')[0].getElementsByTagName('th') : null,
|
|
dataLength = action.data.length,
|
|
headerLength = headers !== null && typeof headers !== 'undefined' ? headers.length : 0;
|
|
|
|
let row, cell, text, rawText;
|
|
|
|
for (let i = 0; i < dataLength; ++i) {
|
|
if (tbody === null) {
|
|
break;
|
|
}
|
|
|
|
row = tbody.insertRow(tbody.rows.length);
|
|
|
|
for (let j = 0; j < headerLength; ++j) {
|
|
if (row === null) {
|
|
break;
|
|
}
|
|
|
|
cell = row.insertCell(j);
|
|
rawText = action.data[i][headers[j].getAttribute('data-name')];
|
|
|
|
if (typeof rawText === 'undefined') {
|
|
rawText = '';
|
|
}
|
|
|
|
cell.appendChild(document.createTextNode(rawText));
|
|
}
|
|
}
|
|
|
|
callback();
|
|
};
|