Exportation en .TEX fini

pull/78/head^2
Thomas Chazot 1 year ago
parent d2214d7d6f
commit 7e47e63958

@ -19,6 +19,7 @@
"bootstrap": "^5.3.2", "bootstrap": "^5.3.2",
"cors": "^2.8.5", "cors": "^2.8.5",
"express": "^4.18.2", "express": "^4.18.2",
"file-saver": "^2.0.5",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.9.1", "react-bootstrap": "^2.9.1",
@ -37,6 +38,7 @@
"web-vitals": "^2.1.4" "web-vitals": "^2.1.4"
}, },
"devDependencies": { "devDependencies": {
"@types/file-saver": "^2.0.7",
"@types/react-router-hash-link": "^2.4.9", "@types/react-router-hash-link": "^2.4.9",
"@types/uuid": "^9.0.7" "@types/uuid": "^9.0.7"
} }
@ -4277,6 +4279,12 @@
"@types/send": "*" "@types/send": "*"
} }
}, },
"node_modules/@types/file-saver": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.7.tgz",
"integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==",
"dev": true
},
"node_modules/@types/graceful-fs": { "node_modules/@types/graceful-fs": {
"version": "4.1.9", "version": "4.1.9",
"resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
@ -8456,6 +8464,11 @@
"webpack": "^4.0.0 || ^5.0.0" "webpack": "^4.0.0 || ^5.0.0"
} }
}, },
"node_modules/file-saver": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
"integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
},
"node_modules/filelist": { "node_modules/filelist": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",

@ -13,6 +13,7 @@
"bootstrap": "^5.3.2", "bootstrap": "^5.3.2",
"cors": "^2.8.5", "cors": "^2.8.5",
"express": "^4.18.2", "express": "^4.18.2",
"file-saver": "^2.0.5",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.9.1", "react-bootstrap": "^2.9.1",
@ -55,6 +56,7 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"@types/file-saver": "^2.0.7",
"@types/react-router-hash-link": "^2.4.9", "@types/react-router-hash-link": "^2.4.9",
"@types/uuid": "^9.0.7" "@types/uuid": "^9.0.7"
} }

@ -1,5 +1,6 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import Switch from "react-switch"; import Switch from "react-switch";
import {saveAs} from "file-saver"
/* Style */ /* Style */
import "./InGame.css" import "./InGame.css"
@ -103,7 +104,11 @@ const InGame = ({locale, changeLocale}) => {
const generateTEX = () => { const generateTEX = () => {
if (network != null && personNetwork != null && person != null){ if (network != null && personNetwork != null && person != null){
generateLatexCode(personNetwork, person, indices, network) const tex = generateLatexCode(personNetwork, person, indices, network)
const blob = new Blob([tex], { type: 'application/x-latex;charset=utf-8' });
// Utiliser FileSaver pour télécharger le fichier
saveAs(blob, 'socialGraph.tex');
} }
} }

@ -11,7 +11,7 @@ import { ColorToString, SportToString } from "../model/EnumExtender";
import GraphCreator from "../model/Graph/GraphCreator"; import GraphCreator from "../model/Graph/GraphCreator";
import { DataSet, Network } from "vis-network"; import { DataSet, Network } from "vis-network";
function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, choosenIndices : Indice[], network: Network) { function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, choosenIndices : Indice[], network: Network): string {
let latexCode = ""; let latexCode = "";
@ -89,7 +89,7 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c
latexCode += "\\end{document}\n" latexCode += "\\end{document}\n"
console.log(latexCode) return latexCode
} }
export default generateLatexCode export default generateLatexCode

@ -2189,6 +2189,11 @@
"@types/qs" "*" "@types/qs" "*"
"@types/serve-static" "*" "@types/serve-static" "*"
"@types/file-saver@^2.0.7":
"integrity" "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A=="
"resolved" "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.7.tgz"
"version" "2.0.7"
"@types/graceful-fs@^4.1.2": "@types/graceful-fs@^4.1.2":
"integrity" "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==" "integrity" "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ=="
"resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz"
@ -4976,6 +4981,11 @@
"loader-utils" "^2.0.0" "loader-utils" "^2.0.0"
"schema-utils" "^3.0.0" "schema-utils" "^3.0.0"
"file-saver@^2.0.5":
"integrity" "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
"resolved" "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz"
"version" "2.0.5"
"filelist@^1.0.4": "filelist@^1.0.4":
"integrity" "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==" "integrity" "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q=="
"resolved" "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" "resolved" "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz"

Loading…
Cancel
Save