From 231f9c90c15ecb70999556dc73a1da2dc0384e6a Mon Sep 17 00:00:00 2001 From: SinusFox <61253950+SinusFox@users.noreply.github.com> Date: Fri, 11 Oct 2024 15:49:58 +0200 Subject: [PATCH] Adding MPS Export --- src/app/lang.ts | 8 + src/app/page.tsx | 7 +- src/app/scripts.ts | 411 +++++++++++++++++++++++++++++++- src/solver/jvail/Bound.tsx | 6 + src/solver/jvail/Bounds.tsx | 9 + src/solver/jvail/Constraint.tsx | 8 + src/solver/jvail/LP.tsx | 18 ++ src/solver/jvail/Options.tsx | 12 + src/solver/jvail/Result.tsx | 10 + src/solver/jvail/Variable.tsx | 4 + 10 files changed, 479 insertions(+), 14 deletions(-) create mode 100644 src/solver/jvail/Bound.tsx create mode 100644 src/solver/jvail/Bounds.tsx create mode 100644 src/solver/jvail/Constraint.tsx create mode 100644 src/solver/jvail/LP.tsx create mode 100644 src/solver/jvail/Options.tsx create mode 100644 src/solver/jvail/Result.tsx create mode 100644 src/solver/jvail/Variable.tsx diff --git a/src/app/lang.ts b/src/app/lang.ts index 4b1f2d1..62fef5d 100644 --- a/src/app/lang.ts +++ b/src/app/lang.ts @@ -24,6 +24,8 @@ export default function text(lang: string, input: string): string { return "Listen Sie alle Ihre Variablen auf. Eine pro Zeile (mit der 'Enter'-Taste trennen). Erlaubte Symbole sind a-z, A-Z.\nBeispiel:\nx\ny"; case "boxExportLP": return "Als LP exportieren"; + case "boxExportMPS": + return "Als MPS exportieren"; case "boxOut": return "Geben Sie ein Problem ein und drücken Sie eine Aktionstaste, um die Ausgabe anzuzeigen..."; case "buttonCalc": @@ -92,6 +94,8 @@ export default function text(lang: string, input: string): string { return "Download wird vorbereitet..."; case "downloadFetchInput": return "Eingaben werden geladen..."; + case "downloadCheckInput": + return "Überprüfe auf leere Eingabefelder..."; case "importing": return "Importiere..."; default: @@ -125,6 +129,8 @@ export default function text(lang: string, input: string): string { return "List all your variables. One per line (divide by 'return' button). Allowed symbols are a-z, A-Z.\nExample:\nx\ny"; case "boxExportLP": return "Export as LP"; + case "boxExportMPS": + return "Export as MPS"; case "boxOut": return "Input a problem and an action button to display output..."; case "buttonCalc": @@ -193,6 +199,8 @@ export default function text(lang: string, input: string): string { return "Preparing download..."; case "downloadFetchInput": return "Fetching input..."; + case "downloadCheckInput": + return "Checking for empty input boxes..."; case "importing": return "Importing..."; default: diff --git a/src/app/page.tsx b/src/app/page.tsx index 332c116..b321e2e 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -2,7 +2,7 @@ import React, { useState } from 'react'; import { Box, Button, Output } from "./modules"; -import { calculate_click, downloadLP } from "./scripts"; +import { calculate_click, downloadLP, downloadMPS } from "./scripts"; import text from "./lang"; export default function Home() { @@ -24,6 +24,7 @@ export default function Home() { const tr_calc_max = text(language, "maximize"); const tr_calc_min = text(language, "minimize"); const tr_calcButton = text(language, "buttonCalc"); + const tr_boxExportMPS = text(language, "boxExportMPS"); const handleLanguageChange = (event: React.ChangeEvent) => { setLanguage(event.target.value); @@ -85,6 +86,10 @@ export default function Home() { className={"button"} onClickFunc={downloadLP} /> +