Nouvelle compilation en .js des scripts source.
This commit is contained in:
parent
733ba413dc
commit
11b292ee60
@ -43,6 +43,7 @@ var initialise = function () { return __awaiter(void 0, void 0, void 0, function
|
||||
_a.trys.push([0, 2, , 3]);
|
||||
converter = new freeCSV2HTML();
|
||||
converter.datasViewElt = { id: "datas" };
|
||||
converter.datasSelectors = [{ colCSV: 3, id: "filtre1" }, { colCSV: 4, id: "filtre2" }];
|
||||
converter.datasSourceUrl = "http://localhost:8080/datas/elements-chimiques.csv";
|
||||
return [4, converter.run()];
|
||||
case 1:
|
||||
|
@ -70,18 +70,18 @@ var freeCSV2HTML = (function () {
|
||||
configurable: true
|
||||
});
|
||||
Object.defineProperty(freeCSV2HTML.prototype, "datasSelectors", {
|
||||
set: function (selectors) {
|
||||
set: function (selectionElts) {
|
||||
var checkContainerExist;
|
||||
for (var i = 0; i < selectors.length; i++) {
|
||||
checkContainerExist = document.getElementById(selectors[i].id);
|
||||
for (var i = 0; i < selectionElts.length; i++) {
|
||||
checkContainerExist = document.getElementById(selectionElts[i].id);
|
||||
if (checkContainerExist === null)
|
||||
throw new Error(errors.elementNotFound + selectors[i].id);
|
||||
else if (Number.isInteger(selectors[i].colCSV) === false || selectors[i].colCSV < 0)
|
||||
throw new Error(errors.elementNotFound + selectionElts[i].id);
|
||||
else if (Number.isInteger(selectionElts[i].colCSV) === false || selectionElts[i].colCSV < 0)
|
||||
throw new Error(errors.needNaturalNumber);
|
||||
else
|
||||
selectors[i].eltDOM = checkContainerExist;
|
||||
selectionElts[i].eltDOM = checkContainerExist;
|
||||
}
|
||||
this._datasSelectors = selectors;
|
||||
this._datasSelectors = selectionElts;
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
@ -89,12 +89,11 @@ var freeCSV2HTML = (function () {
|
||||
freeCSV2HTML.prototype.parse = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
var converter;
|
||||
var _this = this;
|
||||
return __generator(this, function (_a) {
|
||||
converter = this;
|
||||
return [2, new Promise(function (resolve, reject) {
|
||||
if (_this._datasSourceUrl !== "") {
|
||||
Papa.parse(_this._datasSourceUrl, {
|
||||
if (converter._datasSourceUrl !== "") {
|
||||
Papa.parse(converter._datasSourceUrl, {
|
||||
quoteChar: '"',
|
||||
header: true,
|
||||
complete: function (results) {
|
||||
@ -111,51 +110,99 @@ var freeCSV2HTML = (function () {
|
||||
});
|
||||
}
|
||||
else
|
||||
resolve(new Error(errors.needUrl));
|
||||
reject(new Error(errors.needUrl));
|
||||
})];
|
||||
});
|
||||
});
|
||||
};
|
||||
freeCSV2HTML.prototype.run = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
var i, row, field;
|
||||
var converter_1, selectorsHTML, i, values, colName, row, j, selectElement;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0:
|
||||
if (this._datasViewElt.eltDOM === undefined)
|
||||
throw new Error(errors.needDatasElt);
|
||||
if (this._datasSourceUrl === "")
|
||||
else if (this._datasSourceUrl === "")
|
||||
throw new Error(errors.needUrl);
|
||||
return [4, this.parse()];
|
||||
case 1:
|
||||
if ((_a.sent()) === true) {
|
||||
_a.sent();
|
||||
if (this.parseDatas.length === 0 || this.parseMeta === undefined || this.parseMeta.fields === undefined) {
|
||||
this._datasViewElt.eltDOM.innerHTML = errors.datasNotFound;
|
||||
return [2, false];
|
||||
}
|
||||
else {
|
||||
this.datasHTML = "<table><thead>";
|
||||
for (i in this.parseMeta.fields)
|
||||
this.datasHTML += "<th>" + this.parseMeta.fields[i] + "</th>";
|
||||
this.datasHTML += "</thead><tbody>";
|
||||
for (row in this.parseDatas) {
|
||||
this.datasHTML += "<tr>";
|
||||
for (field in this.parseDatas[row]) {
|
||||
if (this.parseMeta.fields.indexOf(field) !== -1)
|
||||
this.datasHTML += "<td>" + this.parseDatas[row][field] + "</td>";
|
||||
}
|
||||
this.datasHTML += "</tr>";
|
||||
}
|
||||
this.datasHTML += "</tbody></table>";
|
||||
converter_1 = this;
|
||||
this.datasHTML = this.createDatasHTML(this.parseMeta.fields, this.parseDatas);
|
||||
this._datasViewElt.eltDOM.innerHTML = this.datasHTML;
|
||||
return [2, true];
|
||||
if (this._datasSelectors.length > 0) {
|
||||
selectorsHTML = [];
|
||||
for (i in this._datasSelectors) {
|
||||
if (this._datasSelectors[i].colCSV > (this.parseMeta.fields.length - 1))
|
||||
throw new Error(errors.selectorFieldNotFound);
|
||||
else {
|
||||
values = [], colName = this.parseMeta.fields[this._datasSelectors[i].colCSV];
|
||||
for (row in this.parseDatas) {
|
||||
if (values.indexOf(this.parseDatas[row][colName]) === -1)
|
||||
values.push(this.parseDatas[row][colName]);
|
||||
}
|
||||
if (values.length > 0) {
|
||||
values.sort();
|
||||
this._datasSelectors[i].name = colName;
|
||||
this._datasSelectors[i].values = values;
|
||||
selectorsHTML[i] = "<label for='CSVDatasSelector" + i + "'>" + colName + " : </label><select name='CSVDatasSelector" + i + "' id='CSVDatasSelector" + i + "'><option value='0'>----</option>";
|
||||
for (j in values)
|
||||
selectorsHTML[i] += "<option value='" + (Number(j) + 1) + "'>" + values[j] + "</option>";
|
||||
selectorsHTML[i] += "</select>";
|
||||
this._datasSelectors[i].eltDOM.innerHTML = selectorsHTML[i];
|
||||
selectElement = document.getElementById("CSVDatasSelector" + i);
|
||||
selectElement.addEventListener('change', function (e) {
|
||||
converter_1.datasHTML = converter_1.createDatasHTML(converter_1.parseMeta.fields, converter_1.parseDatas);
|
||||
converter_1._datasViewElt.eltDOM.innerHTML = converter_1.datasHTML;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return [2, true];
|
||||
}
|
||||
return [2];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
freeCSV2HTML.prototype.createDatasHTML = function (fields, datas) {
|
||||
var checkContainerExist, filters = [];
|
||||
for (var i in this._datasSelectors) {
|
||||
checkContainerExist = document.querySelector("#" + this._datasSelectors[i].id + " select");
|
||||
if (checkContainerExist != null && checkContainerExist.value != "0")
|
||||
filters.push({ field: this._datasSelectors[i].name, value: this._datasSelectors[i].values[checkContainerExist.selectedIndex - 1] });
|
||||
}
|
||||
var datasHTML = "<table><thead>";
|
||||
for (var i in fields)
|
||||
datasHTML += "<th>" + fields[i] + "</th>";
|
||||
datasHTML += "</thead><tbody>";
|
||||
for (var row in datas) {
|
||||
var view = true;
|
||||
if (filters.length !== 0) {
|
||||
for (var i in filters) {
|
||||
if (datas[row][filters[i].field] != filters[i].value)
|
||||
view = false;
|
||||
}
|
||||
}
|
||||
if (view) {
|
||||
datasHTML += "<tr>";
|
||||
for (var field in datas[row]) {
|
||||
if (fields.indexOf(field) !== -1)
|
||||
datasHTML += "<td>" + datas[row][field] + "</td>";
|
||||
}
|
||||
datasHTML += "</tr>";
|
||||
}
|
||||
}
|
||||
datasHTML += "</tbody></table>";
|
||||
return datasHTML;
|
||||
};
|
||||
return freeCSV2HTML;
|
||||
}());
|
||||
export { freeCSV2HTML };
|
||||
|
Loading…
Reference in New Issue
Block a user