Web Dev Solutions

Catalin Mititiuc

From bd31e3e4a64775d3e2ea2efeb5b2122e384b30e3 Mon Sep 17 00:00:00 2001 From: Catalin Mititiuc Date: Wed, 15 May 2024 12:55:40 -0700 Subject: Add ability to load a map file manually --- src/index.js | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/index.js b/src/index.js index 3efa5a7..1a7a6c7 100644 --- a/src/index.js +++ b/src/index.js @@ -12,6 +12,7 @@ const mapPlaceholder = document.querySelector('.map-placeholder'), // fileName = localStorage.getItem('map') || (env === 'test' ? 'test_map' : 'map1'), fileName = localStorage.getItem('map') || 'map1', map = `assets/images/${fileName}.svg`, + fileInputEl = document.querySelector('input[type="file"]'), toggleContentVis = (function () { document.querySelectorAll('#content div').forEach(div => { @@ -64,6 +65,7 @@ function clearMoveEndedIndicators(records) { } function load() { + URL.revokeObjectURL(this.data); const svg = this.contentDocument.querySelector('svg'), startLocs = svg.querySelector('.start-locations'); @@ -156,3 +158,12 @@ document.querySelector('#download-save').addEventListener('click', e => { element.click(); // document.body.removeChild(element); }); + +document.querySelector('#upload-save').addEventListener('click', () => { + fileInputEl.click(); +}); + +document.querySelector('input[type="file"]').addEventListener('change', e => { + const [file] = fileInputEl.files; + document.querySelector('object').data = URL.createObjectURL(file); +}); -- cgit v1.2.3