diff --git a/README.md b/README.md
index 056ee58..2ee2942 100644
--- a/README.md
+++ b/README.md
@@ -18,11 +18,10 @@ De même l'idée est de rester libre du rendu des données en n'imposant pas de
La première version se contente de récupérer et parser des données présentes dans un fichier CSV via un appel Ajax.
Les données trouvées sont affichées dans un tableau. En option, des colonnes peuvent être indiquées par filtrer les données.
-Pour parser les données CSV, [Papa Parse](https://www.papaparse.com/) est utilisé.
+[Papa Parse](https://www.papaparse.com/) est utilisé pour parser les fichiers CSV et [natural-orderby](https://yobacca.github.io/natural-orderby/#/) pour obtenir des classements plus naturels.
-Cette première version est fonctionnelle, même s'il reste à revoir le classement par ordre alphabétique des filtres pouvant poser un souci si des colonnes contiennent des nombres, des dates, etc.
-
-Ensuite ajouter la possibilité de classement sur certaines colonnes et la pagination, le tout en options, le développeur final devant pouvoir adapter le module à son besoin. Et puis s'attaquer aux autres sources/formats possibles pour les données...
+Il reste à ajouter la possibilité de classement sur certaines colonnes et la pagination, le tout en options, le développeur final devant pouvoir adapter le module à son besoin.
+Et puis s'attaquer aux autres sources/formats possibles pour les données...
Bref, il reste beaucoup de choses à faire !
diff --git a/package-lock.json b/package-lock.json
index f7f3bd9..2b02f44 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "freedatas2html",
- "version": "0.3.1",
+ "version": "0.3.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -4155,6 +4155,11 @@
"to-regex": "^3.0.1"
}
},
+ "natural-orderby": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz",
+ "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q=="
+ },
"negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
diff --git a/package.json b/package.json
index a760e2b..432e5b3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "freedatas2html",
- "version": "0.3.3",
+ "version": "0.3.4",
"description": "Visualization of data from various sources (CSV, API, HTML...) with filters, classification, pagination, etc.",
"main": "index.js",
"scripts": {
@@ -39,6 +39,7 @@
"webpack-dev-server": "^3.11.2"
},
"dependencies": {
+ "natural-orderby": "^2.0.3",
"papaparse": "^5.3.1"
}
}
diff --git a/src/freeDatas2HTML.ts b/src/freeDatas2HTML.ts
index d972794..ced3a84 100644
--- a/src/freeDatas2HTML.ts
+++ b/src/freeDatas2HTML.ts
@@ -1,5 +1,6 @@
const Papa = require("papaparse");
const errors = require("./errors.js");
+const { compare }= require('natural-orderby');
import { papaParseDatas, papaParseErrors, papaParseMeta } from "./papaParseInterfaces";
import { domElement, selectors } from "./freeDatas2HTMLInterfaces";
@@ -155,7 +156,7 @@ export class freeDatas2HTML
}
if(values.length > 0)
{
- values.sort();
+ values.sort(compare());
this._datasSelectors[i].name=colName;
this._datasSelectors[i].values=values;
selectorsHTML[i]="