From 630fba499d5f3b8e33e1b504e1573a23231a34ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20PENHO=C3=8BT?= Date: Tue, 10 Aug 2021 16:01:30 +0200 Subject: [PATCH] Nouvelle compilation des fichiers --- src/build/firstExample.js | 26 ++++++++------ src/build/freeCSV2HTML.js | 72 ++++++++++++++++++++++++++++----------- 2 files changed, 68 insertions(+), 30 deletions(-) diff --git a/src/build/firstExample.js b/src/build/firstExample.js index 3e16bf2..8e5273a 100644 --- a/src/build/firstExample.js +++ b/src/build/firstExample.js @@ -36,18 +36,24 @@ var __generator = (this && this.__generator) || function (thisArg, body) { }; import { freeCSV2HTML } from "./freeCSV2HTML"; var initialise = function () { return __awaiter(void 0, void 0, void 0, function () { - var converter; + var converter, e_1; return __generator(this, function (_a) { - try { - converter = new freeCSV2HTML(); - converter.datasViewElt = { id: "datas" }; - converter.datasSourceUrl = "http://localhost:8080/datas/elements-chimiques.csv"; - console.log(converter); + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + converter = new freeCSV2HTML(); + converter.datasViewElt = { id: "datas" }; + converter.datasSourceUrl = "http://localhost:8080/datas/elements-chimiques.csv"; + return [4, converter.run()]; + case 1: + _a.sent(); + return [3, 3]; + case 2: + e_1 = _a.sent(); + console.error(e_1); + return [3, 3]; + case 3: return [2]; } - catch (e) { - console.error(e); - } - return [2]; }); }); }; initialise(); diff --git a/src/build/freeCSV2HTML.js b/src/build/freeCSV2HTML.js index e264892..477558c 100644 --- a/src/build/freeCSV2HTML.js +++ b/src/build/freeCSV2HTML.js @@ -42,8 +42,9 @@ var freeCSV2HTML = (function () { this._datasSourceUrl = ""; this._datasSelectors = []; this.parseMeta = undefined; - this.parseErrors = []; this.parseDatas = []; + this.parseErrors = []; + this.datasHTML = ""; } Object.defineProperty(freeCSV2HTML.prototype, "datasViewElt", { set: function (elt) { @@ -58,6 +59,16 @@ var freeCSV2HTML = (function () { enumerable: true, configurable: true }); + Object.defineProperty(freeCSV2HTML.prototype, "datasSourceUrl", { + set: function (url) { + if (url.trim().length === 0) + throw new Error(errors.needUrl); + else + this._datasSourceUrl = url.trim(); + }, + enumerable: true, + configurable: true + }); Object.defineProperty(freeCSV2HTML.prototype, "datasSelectors", { set: function (selectors) { var checkContainerExist; @@ -75,23 +86,6 @@ var freeCSV2HTML = (function () { enumerable: true, configurable: true }); - Object.defineProperty(freeCSV2HTML.prototype, "datasSourceUrl", { - set: function (url) { - if (url.trim().length === 0) - throw new Error(errors.needUrl); - else - this._datasSourceUrl = url.trim(); - }, - enumerable: true, - configurable: true - }); - freeCSV2HTML.prototype.checkParameters = function () { - if (this._datasViewElt === undefined) - throw new Error(errors.needDatasElt); - if (this._datasSourceUrl === "") - throw new Error(errors.needUrl); - return true; - }; freeCSV2HTML.prototype.parse = function () { return __awaiter(this, void 0, void 0, function () { var converter; @@ -99,7 +93,7 @@ var freeCSV2HTML = (function () { return __generator(this, function (_a) { converter = this; return [2, new Promise(function (resolve, reject) { - if (_this.checkParameters()) { + if (_this._datasSourceUrl !== "") { Papa.parse(_this._datasSourceUrl, { quoteChar: '"', header: true, @@ -109,18 +103,56 @@ var freeCSV2HTML = (function () { converter.parseDatas = results.data; resolve(true); }, + error: function (error) { + reject(new Error(errors.parserFail)); + }, download: true, skipEmptyLines: true, }); } + else + resolve(new Error(errors.needUrl)); })]; }); }); }; freeCSV2HTML.prototype.run = function () { return __awaiter(this, void 0, void 0, function () { + var i, row, field; return __generator(this, function (_a) { - return [2, true]; + switch (_a.label) { + case 0: + if (this._datasViewElt.eltDOM === undefined) + throw new Error(errors.needDatasElt); + if (this._datasSourceUrl === "") + throw new Error(errors.needUrl); + return [4, this.parse()]; + case 1: + if ((_a.sent()) === true) { + if (this.parseDatas.length === 0 || this.parseMeta === undefined || this.parseMeta.fields === undefined) { + this._datasViewElt.eltDOM.innerHTML = errors.datasNotFound; + return [2, false]; + } + else { + this.datasHTML = ""; + for (i in this.parseMeta.fields) + this.datasHTML += ""; + this.datasHTML += ""; + for (row in this.parseDatas) { + this.datasHTML += ""; + for (field in this.parseDatas[row]) { + if (this.parseMeta.fields.indexOf(field) !== -1) + this.datasHTML += ""; + } + this.datasHTML += ""; + } + this.datasHTML += "
" + this.parseMeta.fields[i] + "
" + this.parseDatas[row][field] + "
"; + this._datasViewElt.eltDOM.innerHTML = this.datasHTML; + return [2, true]; + } + } + return [2]; + } }); }); };