UNPKG

pm4js

Version:

Process Mining for Javascript

44 lines (40 loc) 1.41 kB
function handleFileSelect(evt) { var files = evt.target.files; // FileList object // use the 1st file from the list f = files[0]; var reader = new FileReader(); reader.onload = function(e) { inputContent = e.target.result; extension = f.name.split('.').pop(); operation = "importing"; document.getElementById("level1Title").innerHTML = "<h3>Select the importer among the available ones</h3>"; populateLevel(document.getElementById("availableMethods"), 1, getAvailableImportersGivenExtension(extension)); document.getElementById("uploadHidden").value = ""; $('#pm4jsAlgoPopup').show(); } reader.readAsText(f); } function getAvailableImportersGivenExtension(extension) { let ret = []; for (let method of Pm4JS.importers) { if (method["extensions"].includes(extension)) { ret.push(method); } } return ret; } function level1ApplyImporting() { let availableMethods = getAvailableImportersGivenExtension(extension); let selectedMethod = availableMethods[levelsSelected["1"][0]]; try { let args = '...args'; let body = 'let [a] = args;return '+selectedMethod['className']+"."+selectedMethod['methodName']+'(a)'; myFunc = new Function(args, body); myFunc(inputContent); } catch (err) { alert("Import failed"); console.log(err); } } document.getElementById('uploadHidden').addEventListener('change', handleFileSelect, false);