Skip to content
Snippets Groups Projects
Commit 46e7ead9 authored by Maximilian Giller's avatar Maximilian Giller :squid:
Browse files

Basic importer

parent fa604722
No related branches found
No related tags found
No related merge requests found
Pipeline #54761 passed
......@@ -93,6 +93,26 @@
</br>
<input type="number" onkeypress="return (event.charCode !=8 && event.charCode ==0 || (event.charCode >= 48 && event.charCode <= 57))" value="5" id="stop-physics-delay" name="stop-physics-delay" class="small-width">
</input>
</br>
</br>
<h3>Import Space</h3>
<label for="import-space-area">Space JSON</label>
</br>
<textarea id="import-space-area" name="import-space-area" class="bottom-space">
</textarea>
</br>
<label for="import-space-name-text">Space Name</label>
</br>
<input type="text" id="import-space-name-text" name="import-space-name-text" class="bottom-space">
</input>
</br>
<button id="import-space-btn" name="import-space-btn" class="bottom-space">Import</button>
</br>
</br>
</div>
</section>
</div>
\ No newline at end of file
import jQuery from "jquery";
import { state } from "./editor";
import { listAllSpaces } from "../../datasets/datasets";
import { listAllSpaces, saveGraphJson } from "../../datasets/datasets";
import { SPACE } from "../../config";
/**
......@@ -11,18 +11,62 @@ export function initInteractions() {
state.clearSelectedItems();
});
// Fill space dropdown
jQuery("button#import-space-btn").on("click", () =>
importSpaceFromInterface()
);
loadSpacesList();
}
function loadSpacesList() {
var selectContainer = jQuery("#space-id-select");
selectContainer.empty();
listAllSpaces().then((spaces) => {
spaces.forEach(space => {
spaces.forEach((space) => {
var selectedTxt = "";
if (space === SPACE) {
selectedTxt = "selected ";
}
var child = "<option " + selectedTxt + "value=\"" + space + "\">" + space + "</option>"
var child =
"<option " +
selectedTxt +
'value="' +
space +
'">' +
space +
"</option>";
selectContainer.append(child);
});
});
selectContainer.val(SPACE);
}
function importSpaceFromInterface() {
var json = undefined;
try {
console.log(jQuery("#import-space-area").val());
json = JSON.parse(jQuery("#import-space-area").val());
} catch (e) {
console.log(e);
alert('"Space JSON" not valid. Check console for details.');
return;
}
var spaceName = jQuery("#import-space-name-text").val();
if (spaceName.length == 0) {
alert('"Space Name" cannot be empty.');
return;
}
saveGraphJson(spaceName, json)
.then(() => {
loadSpacesList();
alert("Space imported!");
})
.catch((ex) => {
console.log(ex);
alert(
"Something went wrong, could not import space. Check console for further details."
);
});
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment