Store main file name in error if it's present.
This commit is contained in:
parent
7894093022
commit
528541cfd4
@ -33,10 +33,11 @@ export const ImportErrorCode =
|
|||||||
|
|
||||||
export class ImportError
|
export class ImportError
|
||||||
{
|
{
|
||||||
constructor (code, message)
|
constructor (code)
|
||||||
{
|
{
|
||||||
this.code = code;
|
this.code = code;
|
||||||
this.message = message;
|
this.mainFile = null;
|
||||||
|
this.message = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +173,7 @@ export class Importer
|
|||||||
{
|
{
|
||||||
let importableFiles = this.GetImportableFiles (this.fileList);
|
let importableFiles = this.GetImportableFiles (this.fileList);
|
||||||
if (importableFiles.length === 0) {
|
if (importableFiles.length === 0) {
|
||||||
callbacks.onImportError (new ImportError (ImportErrorCode.NoImportableFile, null));
|
callbacks.onImportError (new ImportError (ImportErrorCode.NoImportableFile));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,7 +184,7 @@ export class Importer
|
|||||||
let fileNames = importableFiles.map (importableFile => importableFile.file.name);
|
let fileNames = importableFiles.map (importableFile => importableFile.file.name);
|
||||||
callbacks.onSelectMainFile (fileNames, (mainFileIndex) => {
|
callbacks.onSelectMainFile (fileNames, (mainFileIndex) => {
|
||||||
if (mainFileIndex === null) {
|
if (mainFileIndex === null) {
|
||||||
callbacks.onImportError (new ImportError (ImportErrorCode.NoImportableFile, null));
|
callbacks.onImportError (new ImportError (ImportErrorCode.NoImportableFile));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
RunTaskAsync (() => {
|
RunTaskAsync (() => {
|
||||||
@ -197,7 +198,11 @@ export class Importer
|
|||||||
ImportLoadedMainFile (mainFile, settings, callbacks)
|
ImportLoadedMainFile (mainFile, settings, callbacks)
|
||||||
{
|
{
|
||||||
if (mainFile === null || mainFile.file === null || mainFile.file.content === null) {
|
if (mainFile === null || mainFile.file === null || mainFile.file.content === null) {
|
||||||
callbacks.onImportError (new ImportError (ImportErrorCode.FailedToLoadFile, null));
|
let error = new ImportError (ImportErrorCode.FailedToLoadFile);
|
||||||
|
if (mainFile.file !== null) {
|
||||||
|
error.mainFile = mainFile.file.name;
|
||||||
|
}
|
||||||
|
callbacks.onImportError (error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -242,8 +247,10 @@ export class Importer
|
|||||||
callbacks.onImportSuccess (result);
|
callbacks.onImportSuccess (result);
|
||||||
},
|
},
|
||||||
onError : () => {
|
onError : () => {
|
||||||
let message = importer.GetErrorMessage ();
|
let error = new ImportError (ImportErrorCode.ImportFailed);
|
||||||
callbacks.onImportError (new ImportError (ImportErrorCode.ImportFailed, message));
|
error.mainFile = mainFile.file.name;
|
||||||
|
error.message = importer.GetErrorMessage ();
|
||||||
|
callbacks.onImportError (error);
|
||||||
},
|
},
|
||||||
onComplete : () => {
|
onComplete : () => {
|
||||||
importer.Clear ();
|
importer.Clear ();
|
||||||
|
|||||||
@ -394,6 +394,10 @@ export class Website
|
|||||||
onError : (importError) =>
|
onError : (importError) =>
|
||||||
{
|
{
|
||||||
this.SetUIState (WebsiteUIState.Intro);
|
this.SetUIState (WebsiteUIState.Intro);
|
||||||
|
let extensionStr = null;
|
||||||
|
if (importError.mainFile !== null) {
|
||||||
|
extensionStr = GetFileExtension (importError.mainFile);
|
||||||
|
} else {
|
||||||
let extensions = [];
|
let extensions = [];
|
||||||
let importer = this.modelLoaderUI.GetImporter ();
|
let importer = this.modelLoaderUI.GetImporter ();
|
||||||
let fileList = importer.GetFileList ().GetFiles ();
|
let fileList = importer.GetFileList ().GetFiles ();
|
||||||
@ -401,13 +405,14 @@ export class Website
|
|||||||
let extension = fileList[i].extension;
|
let extension = fileList[i].extension;
|
||||||
extensions.push (extension);
|
extensions.push (extension);
|
||||||
}
|
}
|
||||||
let extensionsStr = extensions.join (',');
|
extensionStr = extensions.join (',');
|
||||||
|
}
|
||||||
if (importError.code === ImportErrorCode.NoImportableFile) {
|
if (importError.code === ImportErrorCode.NoImportableFile) {
|
||||||
HandleEvent ('no_importable_file', extensionsStr);
|
HandleEvent ('no_importable_file', extensionStr);
|
||||||
} else if (importError.code === ImportErrorCode.FailedToLoadFile) {
|
} else if (importError.code === ImportErrorCode.FailedToLoadFile) {
|
||||||
HandleEvent ('failed_to_load_file', extensionsStr);
|
HandleEvent ('failed_to_load_file', extensionStr);
|
||||||
} else if (importError.code === ImportErrorCode.ImportFailed) {
|
} else if (importError.code === ImportErrorCode.ImportFailed) {
|
||||||
HandleEvent ('import_failed', extensionsStr, {
|
HandleEvent ('import_failed', extensionStr, {
|
||||||
error_message : importError.message
|
error_message : importError.message
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,6 +50,7 @@ describe ('Importer Test', function () {
|
|||||||
},
|
},
|
||||||
error : function (importer, importError) {
|
error : function (importer, importError) {
|
||||||
assert.strictEqual (importError.code, OV.ImportErrorCode.FailedToLoadFile);
|
assert.strictEqual (importError.code, OV.ImportErrorCode.FailedToLoadFile);
|
||||||
|
assert.strictEqual (importError.mainFile, 'missing.obj');
|
||||||
done ();
|
done ();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -80,6 +81,7 @@ describe ('Importer Test', function () {
|
|||||||
},
|
},
|
||||||
error : function (importer, importError) {
|
error : function (importer, importError) {
|
||||||
assert.strictEqual (importError.code, OV.ImportErrorCode.ImportFailed);
|
assert.strictEqual (importError.code, OV.ImportErrorCode.ImportFailed);
|
||||||
|
assert.strictEqual (importError.mainFile, 'wrong.3ds');
|
||||||
done ();
|
done ();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user