Add file input for data reading

This commit is contained in:
Codrin Pavel
2019-11-30 21:55:29 +02:00
parent 317b7e6ef8
commit 128b603153
7 changed files with 39 additions and 11 deletions

View File

@@ -2,20 +2,28 @@
$('#dataform').on('submit', function (e) { $('#dataform').on('submit', function (e) {
e.preventDefault(); e.preventDefault();
var warData = JSON.parse( $.trim( $('#data').val() ) ); var inputContent = $.trim( $('#data').val() );
if( warData.results && if ( document.getElementById("fileUpload").files.length > 0 ) {
warData.results[0] && getFileContents( document.getElementById("fileUpload").files[0] );
warData.results[0].ident == "body" && }
warData.results[1] && else if (inputContent.length > 0) {
warData.results[1].ident == "clanWarGetInfo" && var warData = JSON.parse( inputContent );
warData.results[1].result &&
warData.results[1].result.response ) {
initApp(warData, 'withSave', warData); initApp(warData, 'withSave', warData);
}; }
}); });
function initApp (data, callback, callbackData) { function initApp (data, callback, callbackData) {
if( !data.results ||
!data.results[0] ||
!data.results[0].ident == "body" ||
!data.results[1] ||
!data.results[1].ident == "clanWarGetInfo" ||
!data.results[1].result ||
!data.results[1].result.response ) {
return false;
}
console.log(data) console.log(data)
var mapData = data.results[1].result.response; var mapData = data.results[1].result.response;

17
_assets/js/file_reader.js Normal file
View File

@@ -0,0 +1,17 @@
function getFileContents(file) {
var file = document.getElementById("fileUpload").files[0];
var fileContents = false;
if (file) {
var reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = function (evt) {
var warData = JSON.parse(evt.target.result);
initApp(warData, 'withSave', warData);
}
reader.onerror = function (evt) {
console.error('error reading the file.')
}
}
}

View File

@@ -8,6 +8,7 @@
<form id="dataform" class="form"> <form id="dataform" class="form">
<h3>Add War</h3> <h3>Add War</h3>
<textarea id="data">{{ site.testdata }}</textarea> <textarea id="data">{{ site.testdata }}</textarea>
<input id="fileUpload" type="file" accept=".har" />
<br /> <br />
<input type="submit" value="Submit" class="button" /> <input type="submit" value="Submit" class="button" />
<input type="reset" value="Reset" class="button" /> <input type="reset" value="Reset" class="button" />

View File

@@ -7,6 +7,7 @@
<script src="{{ "/assets/js/lib/jquery-3.4.1.min.js" | relative_url }}"></script> <script src="{{ "/assets/js/lib/jquery-3.4.1.min.js" | relative_url }}"></script>
<script src="{{ "/assets/js/map.js" | relative_url }}"></script> <script src="{{ "/assets/js/map.js" | relative_url }}"></script>
<script src="{{ "/assets/js/utils.js" | relative_url }}"></script> <script src="{{ "/assets/js/utils.js" | relative_url }}"></script>
<script src="{{ "/assets/js/file_reader.js" | relative_url }}"></script>
<script src="{{ "/assets/js/app.js" | relative_url }}"></script> <script src="{{ "/assets/js/app.js" | relative_url }}"></script>
<script src="{{ "/assets/js/localstorage.js" | relative_url }}"></script> <script src="{{ "/assets/js/localstorage.js" | relative_url }}"></script>
<script src="{{ "/assets/js/hamburger.js" | relative_url }}"></script> <script src="{{ "/assets/js/hamburger.js" | relative_url }}"></script>

File diff suppressed because one or more lines are too long

View File

@@ -29,6 +29,7 @@
<form id="dataform" class="form"> <form id="dataform" class="form">
<h3>Add War</h3> <h3>Add War</h3>
<textarea id="data"></textarea> <textarea id="data"></textarea>
<input id="fileUpload" type="file" accept=".har" />
<br /> <br />
<input type="submit" value="Submit" class="button" /> <input type="submit" value="Submit" class="button" />
<input type="reset" value="Reset" class="button" /> <input type="reset" value="Reset" class="button" />

File diff suppressed because one or more lines are too long