UNPKG

react-planner-viewer

Version:

react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode

65 lines (53 loc) 7.95 kB
export function browserDownload(json) { var fileOutputLink = document.createElement('a'); var filename = "output" + Date.now() + ".json"; filename = window.prompt("Insert output filename", filename); if (!filename) return; var output = JSON.stringify(json); var data = new Blob([output], { type: 'text/plain' }); var url = window.URL.createObjectURL(data); fileOutputLink.setAttribute('download', filename); fileOutputLink.href = url; fileOutputLink.style.display = 'none'; document.body.appendChild(fileOutputLink); fileOutputLink.click(); document.body.removeChild(fileOutputLink); } export function browserUpload() { return new Promise(function (resolve, reject) { var fileInput = document.createElement('input'); fileInput.type = "file"; fileInput.addEventListener('change', function (event) { var file = event.target.files[0]; var reader = new FileReader(); reader.addEventListener('load', function (fileEvent) { var loadedData = fileEvent.target.result; resolve(loadedData); }); reader.readAsText(file); }); fileInput.click(); }); } export function browserImageUpload() { return new Promise(function (resolve, reject) { var fileInput = document.createElement('input'); fileInput.type = "file"; fileInput.addEventListener('change', function (event) { var file = event.target.files[0]; var reader = new FileReader(); reader.addEventListener('load', function (fileEvent) { var loadedData = fileEvent.target.result; var fileInput = document.createElement('input'); var image = new Image(); image.onload = function () { resolve({ data: loadedData, width: image.width, height: image.height }); }; image.src = loadedData; }); reader.readAsDataURL(file); }); fileInput.click(); }); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9icm93c2VyLmpzIl0sIm5hbWVzIjpbImJyb3dzZXJEb3dubG9hZCIsImpzb24iLCJmaWxlT3V0cHV0TGluayIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImZpbGVuYW1lIiwiRGF0ZSIsIm5vdyIsIndpbmRvdyIsInByb21wdCIsIm91dHB1dCIsIkpTT04iLCJzdHJpbmdpZnkiLCJkYXRhIiwiQmxvYiIsInR5cGUiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzZXRBdHRyaWJ1dGUiLCJocmVmIiwic3R5bGUiLCJkaXNwbGF5IiwiYm9keSIsImFwcGVuZENoaWxkIiwiY2xpY2siLCJyZW1vdmVDaGlsZCIsImJyb3dzZXJVcGxvYWQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZpbGVJbnB1dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsImZpbGUiLCJ0YXJnZXQiLCJmaWxlcyIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJmaWxlRXZlbnQiLCJsb2FkZWREYXRhIiwicmVzdWx0IiwicmVhZEFzVGV4dCIsImJyb3dzZXJJbWFnZVVwbG9hZCIsImltYWdlIiwiSW1hZ2UiLCJvbmxvYWQiLCJ3aWR0aCIsImhlaWdodCIsInNyYyIsInJlYWRBc0RhdGFVUkwiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sU0FBU0EsZUFBVCxDQUF5QkMsSUFBekIsRUFBK0I7QUFDcEMsTUFBSUMsaUJBQWlCQyxTQUFTQyxhQUFULENBQXVCLEdBQXZCLENBQXJCOztBQUVBLE1BQUlDLFdBQVcsV0FBV0MsS0FBS0MsR0FBTCxFQUFYLEdBQXdCLE9BQXZDO0FBQ0FGLGFBQVdHLE9BQU9DLE1BQVAsQ0FBYyx3QkFBZCxFQUF3Q0osUUFBeEMsQ0FBWDtBQUNBLE1BQUksQ0FBQ0EsUUFBTCxFQUFlOztBQUVmLE1BQUlLLFNBQVNDLEtBQUtDLFNBQUwsQ0FBZVgsSUFBZixDQUFiO0FBQ0EsTUFBSVksT0FBTyxJQUFJQyxJQUFKLENBQVMsQ0FBQ0osTUFBRCxDQUFULEVBQW1CLEVBQUNLLE1BQU0sWUFBUCxFQUFuQixDQUFYO0FBQ0EsTUFBSUMsTUFBTVIsT0FBT1MsR0FBUCxDQUFXQyxlQUFYLENBQTJCTCxJQUEzQixDQUFWO0FBQ0FYLGlCQUFlaUIsWUFBZixDQUE0QixVQUE1QixFQUF3Q2QsUUFBeEM7QUFDQUgsaUJBQWVrQixJQUFmLEdBQXNCSixHQUF0QjtBQUNBZCxpQkFBZW1CLEtBQWYsQ0FBcUJDLE9BQXJCLEdBQStCLE1BQS9CO0FBQ0FuQixXQUFTb0IsSUFBVCxDQUFjQyxXQUFkLENBQTBCdEIsY0FBMUI7QUFDQUEsaUJBQWV1QixLQUFmO0FBQ0F0QixXQUFTb0IsSUFBVCxDQUFjRyxXQUFkLENBQTBCeEIsY0FBMUI7QUFDRDs7QUFFRCxPQUFPLFNBQVN5QixhQUFULEdBQXlCO0FBQzlCLFNBQU8sSUFBSUMsT0FBSixDQUFZLFVBQVVDLE9BQVYsRUFBbUJDLE1BQW5CLEVBQTJCOztBQUU1QyxRQUFJQyxZQUFZNUIsU0FBU0MsYUFBVCxDQUF1QixPQUF2QixDQUFoQjtBQUNBMkIsY0FBVWhCLElBQVYsR0FBaUIsTUFBakI7O0FBRUFnQixjQUFVQyxnQkFBVixDQUEyQixRQUEzQixFQUFxQyxVQUFVQyxLQUFWLEVBQWlCO0FBQ3BELFVBQUlDLE9BQU9ELE1BQU1FLE1BQU4sQ0FBYUMsS0FBYixDQUFtQixDQUFuQixDQUFYO0FBQ0EsVUFBSUMsU0FBUyxJQUFJQyxVQUFKLEVBQWI7QUFDQUQsYUFBT0wsZ0JBQVAsQ0FBd0IsTUFBeEIsRUFBZ0MsVUFBQ08sU0FBRCxFQUFlO0FBQzdDLFlBQUlDLGFBQWFELFVBQVVKLE1BQVYsQ0FBaUJNLE1BQWxDO0FBQ0FaLGdCQUFRVyxVQUFSO0FBQ0QsT0FIRDtBQUlBSCxhQUFPSyxVQUFQLENBQWtCUixJQUFsQjtBQUNELEtBUkQ7O0FBVUFILGNBQVVOLEtBQVY7QUFDRCxHQWhCTSxDQUFQO0FBaUJEOztBQUdELE9BQU8sU0FBU2tCLGtCQUFULEdBQThCO0FBQ25DLFNBQU8sSUFBSWYsT0FBSixDQUFZLFVBQVVDLE9BQVYsRUFBbUJDLE1BQW5CLEVBQTJCOztBQUU1QyxRQUFJQyxZQUFZNUIsU0FBU0MsYUFBVCxDQUF1QixPQUF2QixDQUFoQjtBQUNBMkIsY0FBVWhCLElBQVYsR0FBaUIsTUFBakI7O0FBRUFnQixjQUFVQyxnQkFBVixDQUEyQixRQUEzQixFQUFxQyxVQUFVQyxLQUFWLEVBQWlCO0FBQ3BELFVBQUlDLE9BQU9ELE1BQU1FLE1BQU4sQ0FBYUMsS0FBYixDQUFtQixDQUFuQixDQUFYO0FBQ0EsVUFBSUMsU0FBUyxJQUFJQyxVQUFKLEVBQWI7QUFDQUQsYUFBT0wsZ0JBQVAsQ0FBd0IsTUFBeEIsRUFBZ0MsVUFBQ08sU0FBRCxFQUFlO0FBQzdDLFlBQUlDLGFBQWFELFVBQVVKLE1BQVYsQ0FBaUJNLE1BQWxDOztBQUVBLFlBQUlWLFlBQVk1QixTQUFTQyxhQUFULENBQXVCLE9BQXZCLENBQWhCOztBQUVBLFlBQUl3QyxRQUFRLElBQUlDLEtBQUosRUFBWjtBQUNBRCxjQUFNRSxNQUFOLEdBQWUsWUFBSztBQUNsQmpCLGtCQUFRLEVBQUNoQixNQUFNMkIsVUFBUCxFQUFtQk8sT0FBT0gsTUFBTUcsS0FBaEMsRUFBdUNDLFFBQVFKLE1BQU1JLE1BQXJELEVBQVI7QUFDRCxTQUZEO0FBR0FKLGNBQU1LLEdBQU4sR0FBWVQsVUFBWjtBQUNELE9BVkQ7QUFXQUgsYUFBT2EsYUFBUCxDQUFxQmhCLElBQXJCO0FBQ0QsS0FmRDs7QUFpQkFILGNBQVVOLEtBQVY7QUFDRCxHQXZCTSxDQUFQO0FBd0JEIiwiZmlsZSI6ImJyb3dzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYnJvd3NlckRvd25sb2FkKGpzb24pIHtcbiAgdmFyIGZpbGVPdXRwdXRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXG4gIHZhciBmaWxlbmFtZSA9IFwib3V0cHV0XCIgKyBEYXRlLm5vdygpICsgXCIuanNvblwiO1xuICBmaWxlbmFtZSA9IHdpbmRvdy5wcm9tcHQoXCJJbnNlcnQgb3V0cHV0IGZpbGVuYW1lXCIsIGZpbGVuYW1lKTtcbiAgaWYgKCFmaWxlbmFtZSkgcmV0dXJuO1xuXG4gIHZhciBvdXRwdXQgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcbiAgdmFyIGRhdGEgPSBuZXcgQmxvYihbb3V0cHV0XSwge3R5cGU6ICd0ZXh0L3BsYWluJ30pO1xuICB2YXIgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoZGF0YSk7XG4gIGZpbGVPdXRwdXRMaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlbmFtZSk7XG4gIGZpbGVPdXRwdXRMaW5rLmhyZWYgPSB1cmw7XG4gIGZpbGVPdXRwdXRMaW5rLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZmlsZU91dHB1dExpbmspO1xuICBmaWxlT3V0cHV0TGluay5jbGljaygpO1xuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZpbGVPdXRwdXRMaW5rKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyb3dzZXJVcGxvYWQoKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG5cbiAgICB2YXIgZmlsZUlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICBmaWxlSW5wdXQudHlwZSA9IFwiZmlsZVwiO1xuXG4gICAgZmlsZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgdmFyIGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XG4gICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKGZpbGVFdmVudCkgPT4ge1xuICAgICAgICB2YXIgbG9hZGVkRGF0YSA9IGZpbGVFdmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICByZXNvbHZlKGxvYWRlZERhdGEpO1xuICAgICAgfSk7XG4gICAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlKTtcbiAgICB9KTtcblxuICAgIGZpbGVJbnB1dC5jbGljaygpO1xuICB9KTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gYnJvd3NlckltYWdlVXBsb2FkKCkge1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuXG4gICAgdmFyIGZpbGVJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgZmlsZUlucHV0LnR5cGUgPSBcImZpbGVcIjtcblxuICAgIGZpbGVJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIHZhciBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIChmaWxlRXZlbnQpID0+IHtcbiAgICAgICAgdmFyIGxvYWRlZERhdGEgPSBmaWxlRXZlbnQudGFyZ2V0LnJlc3VsdDtcblxuICAgICAgICB2YXIgZmlsZUlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcblxuICAgICAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgaW1hZ2Uub25sb2FkID0gKCk9PiB7XG4gICAgICAgICAgcmVzb2x2ZSh7ZGF0YTogbG9hZGVkRGF0YSwgd2lkdGg6IGltYWdlLndpZHRoLCBoZWlnaHQ6IGltYWdlLmhlaWdodH0pO1xuICAgICAgICB9O1xuICAgICAgICBpbWFnZS5zcmMgPSBsb2FkZWREYXRhO1xuICAgICAgfSk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICB9KTtcblxuICAgIGZpbGVJbnB1dC5jbGljaygpO1xuICB9KTtcbn1cbiJdfQ==