Refactor AppMenu and AppTopbar components

- Updated the AppMenu component to only add available scenarios to the menu if there are any.
- Refactored the AppTopbar component to use the selectedApp value from the UserPrefStore.
- Added an updateApplication function to update the selectedApp value in the UserPrefStore and fetch the application scenarios.
- Created a watcher to update the selectedApp value when it changes in the UserPrefStore.

Fix axios base URL configuration

- Updated the axios base URL configuration in the main.js file to use a hardcoded URL instead of the VITE_BACKEND_URL environment variable.

Update ProjectService and UserPrefStore

- Added an updateSelectedApplication function to the ProjectService to update the selected application.
- Updated the UserPrefStore to fetch the selected application from the user data and set it as the selectedApp value.
- Added a setSelectedApp function to the UserPrefStore to update the selectedApp value and call the updateSelectedApplication function.

Update ScenarioStore

- Updated the fetchApplicationScenarios function in the ScenarioStore to use the selectedApp value from the UserPrefStore when fetching scenarios.

Remove unused components

- Removed the Empty, SeatDemo, PersonalDemo, PaymentDemo, ConfirmationDemo, TreeDoc, and FileDoc components from the project.

Fix menu typo

- Fixed a typo in the menu component.

Revert changes for Canva

- Reverted the changes made for Canva.

Merge branch 'master' of https://gitlab.gcp.windtre.it/olympus_ai/hermione-fe

- Merged the changes from the master branch of the remote repository.
This commit is contained in:
andrea.terzani
2024-10-25 19:41:24 +02:00
parent e44edba795
commit d7882baeab
6 changed files with 36 additions and 15 deletions

View File

@@ -7,8 +7,6 @@ import AppMenuItem from './AppMenuItem.vue';
const userPrefStore = UserPrefStore();
const model = ref([
{
label: '',
@@ -41,9 +39,12 @@ function updateApplicationsMenu() {
{ label: 'Rev Eng Code', icon: 'pi pi-fw pi-id-card', to: '/app-browser' }
];
selectedApp.available_scenarios.forEach(app => {
model.value[0].items.push({ label: app.label, icon: 'pi pi-fw pi-id-card', to: `/scenario/exec/${app.scenario_id}` });
});
if( selectedApp.available_scenarios.length > 0) {
selectedApp.available_scenarios.forEach(app => {
model.value[0].items.push({ label: app.label, icon: 'pi pi-fw pi-id-card', to: `/scenario/exec/${app.scenario_id}` });
});
}
} else {
// Se selectedApp è nullo, svuota gli item

View File

@@ -8,11 +8,11 @@ import { LoadingStore } from '../stores/LoadingStore.js';
import { ScenarioStore } from '../stores/ScenarioStore.js';
import { UserPrefStore } from '../stores/UserPrefStore.js';
import { ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import AppConfigurator from './AppConfigurator.vue';
import AppProfileMenu from './AppProfileMenu.vue';
const auth = useAuth();
const route = useRoute();
@@ -23,8 +23,23 @@ const userPrefStore = UserPrefStore();
const scenario_store = ScenarioStore();
const loadingStore = LoadingStore()
const selectedApp = ref(userPrefStore.getSelApp);
const { onMenuToggle, toggleDarkMode, isDarkTheme } = useLayout();
async function updateApplication() {
await userPrefStore.setSelectedApp(selectedApp.value);
scenario_store.fetchApplicationScenarios();
}
function appUpdated() {
selectedApp.value = userPrefStore.getSelApp;
}
watch(() => userPrefStore.getSelApp, appUpdated, { immediate: true });
</script>
@@ -85,12 +100,12 @@ const { onMenuToggle, toggleDarkMode, isDarkTheme } = useLayout();
</div>
<Dropdown
v-model="userPrefStore.selectedApp"
v-model="selectedApp"
:options="userPrefStore.availableApp"
optionLabel="fe_name"
placeholder="Select an Option"
class="dropdown-list"
@change="scenario_store.fetchApplicationScenarios()"
@change="updateApplication()"
:disabled="route.path === '/projects'"
/>
<button

View File

@@ -52,7 +52,7 @@ var auth = createAuth({
}
});
axios.defaults.baseURL = import.meta.env.VITE_BACKEND_URL;//'http://localhost:8081'
axios.defaults.baseURL = 'http://localhost:8081'///import.meta.env.VITE_BACKEND_URL;//
console.log(import.meta.env.VITE_BACKEND_URL);
const app = createApp(App);

View File

@@ -15,6 +15,10 @@ export const ProjectService = {
return axios.post('/updateSelectedProject', data)
}
,
updateSelectedApplication(data) {
return axios.post('/updateSelectedApplication', data)
}
/* {
projectName: selectedProjectName

View File

@@ -41,7 +41,7 @@ export const ScenarioStore = defineStore('scenario_store', () => {
async function fetchApplicationScenarios() {
loadingStore.scenario_loading = true;
console.log("fetchApplicationScenarios >= selectedApp", userPrefStore.selectedApp) ;
await ScenarioService.getScenariosApplication(userPrefStore.selectedApp).then(resp=>{
console.log("response scenari", resp);
applicationScenarios.value = resp.data

View File

@@ -18,6 +18,7 @@ export const UserPrefStore = defineStore('userpref_store', () => {
loadingStore.user_loading = true;
await auth.fetch().then((fetchedUser) => {
user.value = fetchedUser.data.data;
selectedApp.value = user.value.selectedApplication;
userLoaded.value = true;
loadingStore.user_loading = false;
}).catch((error) => {
@@ -29,12 +30,9 @@ export const UserPrefStore = defineStore('userpref_store', () => {
try {
loadingStore.user_loading = true;
selectedApp.value = null;
// Aspetta che l'aggiornamento del progetto finisca
await ProjectService.updateSelectedProject(project);
} catch (error) {
console.error("Errore durante l'aggiornamento del progetto:", error);
} finally {
@@ -46,8 +44,11 @@ export const UserPrefStore = defineStore('userpref_store', () => {
function setSelectedApp(app){
async function setSelectedApp(app){
loadingStore.user_loading = true;
await ProjectService.updateSelectedApplication(app);
selectedApp.value = app;
loadingStore.user_loading = false;
}
const selectedProject = computed(() => user.value.selectedProject)