2021-09-27 17:31:51 +02:00
|
|
|
var errors = require("./errors.js");
|
|
|
|
var Render = (function () {
|
|
|
|
function Render(converter, settings) {
|
|
|
|
if (settings === void 0) { settings = Render.defaultSettings; }
|
|
|
|
this._converter = converter;
|
|
|
|
this.settings = settings;
|
|
|
|
}
|
|
|
|
Render.prototype.rend2HTML = function (datas) {
|
2021-10-13 12:46:50 +02:00
|
|
|
if (this._converter.fields === undefined)
|
2021-09-27 17:31:51 +02:00
|
|
|
throw new Error(errors.renderNeedDatas);
|
|
|
|
else {
|
|
|
|
var datasHTML = this.settings.allBegining;
|
|
|
|
if (this.settings.fieldsBegining !== undefined && this.settings.fieldDisplaying !== undefined && this.settings.fieldsEnding !== undefined) {
|
|
|
|
datasHTML += this.settings.fieldsBegining;
|
2021-10-13 12:46:50 +02:00
|
|
|
for (var _i = 0, _a = this._converter.fields; _i < _a.length; _i++) {
|
|
|
|
var field = _a[_i];
|
|
|
|
datasHTML += this.settings.fieldDisplaying.replace("#FIELDNAME", field);
|
|
|
|
}
|
2021-09-27 17:31:51 +02:00
|
|
|
datasHTML += this.settings.fieldsEnding;
|
|
|
|
}
|
|
|
|
datasHTML += this.settings.linesBegining;
|
2021-10-13 12:46:50 +02:00
|
|
|
for (var _b = 0, datas_1 = datas; _b < datas_1.length; _b++) {
|
|
|
|
var row = datas_1[_b];
|
2021-09-27 17:31:51 +02:00
|
|
|
datasHTML += this.settings.lineBegining;
|
2021-10-13 12:46:50 +02:00
|
|
|
for (var _c = 0, _d = this._converter.fields; _c < _d.length; _c++) {
|
|
|
|
var field = _d[_c];
|
|
|
|
if (row[field] !== undefined)
|
|
|
|
datasHTML += this.settings.dataDisplaying.replace("#VALUE", row[field]).replace("#FIELDNAME", field);
|
2021-09-27 17:31:51 +02:00
|
|
|
else
|
2021-10-13 12:46:50 +02:00
|
|
|
datasHTML += this.settings.dataDisplaying.replace("#VALUE", "").replace("#FIELDNAME", field);
|
2021-09-27 17:31:51 +02:00
|
|
|
}
|
|
|
|
datasHTML += this.settings.lineEnding;
|
|
|
|
}
|
|
|
|
datasHTML += this.settings.linesEnding + this.settings.allEnding;
|
|
|
|
return datasHTML;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
Render.defaultSettings = {
|
|
|
|
allBegining: "<table>",
|
|
|
|
allEnding: "</table>",
|
|
|
|
fieldsBegining: "<thead><tr>",
|
|
|
|
fieldsEnding: "</tr></thead>",
|
|
|
|
fieldDisplaying: "<th>#FIELDNAME</th>",
|
|
|
|
linesBegining: "<tbody>",
|
|
|
|
linesEnding: "</tbody>",
|
|
|
|
lineBegining: "<tr>",
|
|
|
|
lineEnding: "</tr>",
|
|
|
|
dataDisplaying: "<td>#VALUE</td>",
|
|
|
|
};
|
|
|
|
return Render;
|
|
|
|
}());
|
|
|
|
export { Render };
|