Skip to content

Commit

Permalink
Merge branch 'main' into seicke/issue55
Browse files Browse the repository at this point in the history
  • Loading branch information
seicke authored Oct 31, 2024
2 parents c6d51be + e5bff9c commit 553e3d1
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 80 deletions.
87 changes: 48 additions & 39 deletions aas-web-ui/src/components/AASTreeview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -163,44 +163,50 @@
let path = shellHref + '/submodel-refs';
let context = 'retrieving Submodel References';
let disableMessage = false;
this.getRequest(path, context, disableMessage).then(async (response: any) => {
if (response.success) {
// execute if the Request was successful
try {
// request submodels from the retrieved AAS (top layer of the Treeview)
const submodelRefs = response.data.result;
let submodelData = await this.requestSubmodels(submodelRefs);
// set the isActive prop of the initialNode if it exists and the initialUpdate flag is set
if (this.initialUpdate && this.initialNode) {
let expandedSubmodelData = this.expandTree(submodelData, this.initialNode); // Update the Treeview to expand until the initially set node is reached
// this.updateNode(this.initialNode); // set the isActive prop of the initialNode to true
this.initialUpdate = false;
this.initialNode = {};
// console.log('Expanded Treeview Data: ', expandedSubmodelData)
this.submodelData = expandedSubmodelData; // set the Treeview Data
} else {
this.submodelData = submodelData; // set the Treeview Data
// console.log('Treeview Data: ', this.submodelData)
this.getRequest(path, context, disableMessage)
.then(async (response: any) => {
if (response.success) {
// execute if the Request was successful
try {
// request submodels from the retrieved AAS (top layer of the Treeview)
let submodelData = await this.requestSubmodels(response.data.result);
// set the isActive prop of the initialNode if it exists and the initialUpdate flag is set
if (this.initialUpdate && this.initialNode) {
let expandedSubmodelData = this.expandTree(submodelData, this.initialNode); // Update the Treeview to expand until the initially set node is reached
// this.updateNode(this.initialNode); // set the isActive prop of the initialNode to true
this.initialUpdate = false;
this.initialNode = {};
// console.log('Expanded Treeview Data: ', expandedSubmodelData)
this.submodelData = expandedSubmodelData; // set the Treeview Data
} else {
this.submodelData = submodelData; // set the Treeview Data
// console.log('Treeview Data: ', this.submodelData)
}
} catch (error: any) {
// console.error('Error while parsing the Submodel References: ', error);
const errorMessage = error.message;
const errorStack = error.stack;
const errorLocation = errorStack ? errorStack.split('\n')[1] : '';
this.navigationStore.dispatchSnackbar({
status: true,
timeout: 60000,
color: 'error',
btnColor: 'buttonText',
baseError: 'Error while parsing the Submodel References!',
extendedError: `Error: ${errorMessage}\nLocation: ${errorLocation.trim()}`,
});
} finally {
this.aasStore.dispatchLoadingState(false);
}
} catch (error: any) {
// console.error('Error while parsing the Submodel References: ', error);
const errorMessage = error.message;
const errorStack = error.stack;
const errorLocation = errorStack ? errorStack.split('\n')[1] : '';
this.navigationStore.dispatchSnackbar({
status: true,
timeout: 60000,
color: 'error',
btnColor: 'buttonText',
baseError: 'Error while parsing the Submodel References!',
extendedError: `Error: ${errorMessage}\nLocation: ${errorLocation.trim()}`,
});
} else {
// execute if the Request failed
this.submodelData = [];
this.aasStore.dispatchLoadingState(false);
}
} else {
// execute if the Request failed
this.submodelData = [];
}
});
})
.catch(() => {
this.aasStore.dispatchLoadingState(false);
});
},
// Function to request all Submodels for the selected AAS
Expand Down Expand Up @@ -268,9 +274,12 @@
}
});
});
let submodels = await Promise.all(submodelPromises);
this.aasStore.dispatchLoadingState(false); // set loading state to false
return submodels;
try {
const submodels = await Promise.all(submodelPromises);
return submodels;
} finally {
this.aasStore.dispatchLoadingState(false);
}
},
// Function to prepare the Datastructure for the Treeview
Expand Down
91 changes: 50 additions & 41 deletions aas-web-ui/src/components/SubmodelList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -179,47 +179,53 @@
let path = shellHref + '/submodel-refs';
let context = 'retrieving Submodel References';
let disableMessage = false;
this.getRequest(path, context, disableMessage).then(async (response: any) => {
if (response.success) {
// execute if the Request was successful
try {
// request submodels from the retrieved AAS
const submodelRefs = response.data.result;
let submodelData = await this.requestSubmodels(submodelRefs);
if (this.initialUpdate && this.initialNode) {
// set the isActive Property of the initial Node to true and dispatch it to the store
submodelData.forEach((submodel: any) => {
if (submodel.path === this.initialNode.path) {
submodel.isActive = true;
this.aasStore.dispatchNode(submodel);
this.aasStore.dispatchRealTimeObject(submodel);
}
this.getRequest(path, context, disableMessage)
.then(async (response: any) => {
if (response.success) {
// execute if the Request was successful
try {
// request submodels from the retrieved AAS
let submodelData = await this.requestSubmodels(response.data.result);
if (this.initialUpdate && this.initialNode) {
// set the isActive Property of the initial Node to true and dispatch it to the store
submodelData.forEach((submodel: any) => {
if (submodel.path === this.initialNode.path) {
submodel.isActive = true;
this.aasStore.dispatchNode(submodel);
this.aasStore.dispatchRealTimeObject(submodel);
}
});
this.initialUpdate = false;
this.initialNode = {};
this.submodelData = submodelData; // set the Submodel Data
} else {
this.submodelData = submodelData; // set the Submodel Data
}
} catch (error: any) {
// console.error('Error while parsing the Submodel References: ', error);
const errorMessage = error.message;
const errorStack = error.stack;
const errorLocation = errorStack ? errorStack.split('\n')[1] : '';
this.navigationStore.dispatchSnackbar({
status: true,
timeout: 60000,
color: 'error',
btnColor: 'buttonText',
baseError: 'Error while parsing the Submodel References!',
extendedError: `Error: ${errorMessage}\nLocation: ${errorLocation.trim()}`,
});
this.initialUpdate = false;
this.initialNode = {};
this.submodelData = submodelData; // set the Submodel Data
} else {
this.submodelData = submodelData; // set the Submodel Data
} finally {
this.aasStore.dispatchLoadingState(false);
}
} catch (error: any) {
// console.error('Error while parsing the Submodel References: ', error);
const errorMessage = error.message;
const errorStack = error.stack;
const errorLocation = errorStack ? errorStack.split('\n')[1] : '';
this.navigationStore.dispatchSnackbar({
status: true,
timeout: 60000,
color: 'error',
btnColor: 'buttonText',
baseError: 'Error while parsing the Submodel References!',
extendedError: `Error: ${errorMessage}\nLocation: ${errorLocation.trim()}`,
});
} else {
// execute if the Request failed
this.submodelData = [];
this.aasStore.dispatchLoadingState(false);
}
} else {
// execute if the Request failed
this.submodelData = [];
}
});
})
.catch(() => {
this.aasStore.dispatchLoadingState(false);
});
},
// Function to request all Submodels for the selected AAS
Expand Down Expand Up @@ -276,9 +282,12 @@
}
});
});
let submodels = await Promise.all(submodelPromises);
this.aasStore.dispatchLoadingState(false); // set loading state to false
return submodels;
try {
const submodels = await Promise.all(submodelPromises);
return submodels;
} finally {
this.aasStore.dispatchLoadingState(false);
}
},
// Function to toggle a Node
Expand Down

0 comments on commit 553e3d1

Please sign in to comment.