From c6981173029befea2ae68990833b6d2570ef5a0c Mon Sep 17 00:00:00 2001 From: kovacsv Date: Mon, 13 Dec 2021 11:09:33 +0100 Subject: [PATCH] Better error message in case of the file is found, but failed to load. --- source/import/importer.js | 7 ++++--- source/viewer/domviewer.js | 2 ++ test/tests/importer_test.js | 2 +- website/o3dv/js/threemodelloaderui.js | 6 ++++++ website/o3dv/js/website.js | 2 ++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/source/import/importer.js b/source/import/importer.js index 92b5b30..76b4036 100644 --- a/source/import/importer.js +++ b/source/import/importer.js @@ -9,8 +9,9 @@ OV.ImportSettings = class OV.ImportErrorCode = { NoImportableFile : 1, - ImportFailed : 2, - UnknownError : 3 + FailedToLoadFile : 2, + ImportFailed : 3, + UnknownError : 4 }; OV.ImportError = class @@ -179,7 +180,7 @@ OV.Importer = class ImportLoadedMainFile (mainFile, settings, callbacks) { if (mainFile === null || mainFile.file === null || mainFile.file.content === null) { - callbacks.onImportError (new OV.ImportError (OV.ImportErrorCode.NoImportableFile, null)); + callbacks.onImportError (new OV.ImportError (OV.ImportErrorCode.FailedToLoadFile, null)); return; } diff --git a/source/viewer/domviewer.js b/source/viewer/domviewer.js index 66b055d..b9996d9 100644 --- a/source/viewer/domviewer.js +++ b/source/viewer/domviewer.js @@ -77,6 +77,8 @@ OV.Init3DViewerElement = function (parentDiv, modelUrls, parameters) let message = 'Unknown error'; if (importError.code === OV.ImportErrorCode.NoImportableFile) { message = 'No importable file found'; + } else if (importError.code === OV.ImportErrorCode.FailedToLoadFile) { + message = 'Failed load file for import.'; } else if (importError.code === OV.ImportErrorCode.ImportFailed) { message = 'Failed to import model.'; } diff --git a/test/tests/importer_test.js b/test/tests/importer_test.js index 64dab72..5c79d98 100644 --- a/test/tests/importer_test.js +++ b/test/tests/importer_test.js @@ -46,7 +46,7 @@ describe ('Importer Test', function () { assert.fail (); }, error : function (importer, importError) { - assert.strictEqual (importError.code, OV.ImportErrorCode.NoImportableFile); + assert.strictEqual (importError.code, OV.ImportErrorCode.FailedToLoadFile); done (); } }); diff --git a/website/o3dv/js/threemodelloaderui.js b/website/o3dv/js/threemodelloaderui.js index 14a5933..b7ab85d 100644 --- a/website/o3dv/js/threemodelloaderui.js +++ b/website/o3dv/js/threemodelloaderui.js @@ -67,6 +67,12 @@ OV.ThreeModelLoaderUI = class 'No importable file found.', importError.message ); + } else if (importError.code === OV.ImportErrorCode.FailedToLoadFile) { + return OV.ShowMessageDialog ( + 'Something went wrong', + 'Failed load file for import.', + importError.message + ); } else if (importError.code === OV.ImportErrorCode.ImportFailed) { return OV.ShowMessageDialog ( 'Something went wrong', diff --git a/website/o3dv/js/website.js b/website/o3dv/js/website.js index a57197f..92cdcb7 100644 --- a/website/o3dv/js/website.js +++ b/website/o3dv/js/website.js @@ -373,6 +373,8 @@ OV.Website = class let reason = 'unknown'; if (importError.code === OV.ImportErrorCode.NoImportableFile) { reason = 'no_importable_file'; + } else if (importError.code === OV.ImportErrorCode.FailedToLoadFile) { + reason = 'failed_to_load_file'; } else if (importError.code === OV.ImportErrorCode.ImportFailed) { reason = 'import_failed'; }