toggle + menù app

This commit is contained in:
Florinda
2024-10-22 18:12:55 +02:00
parent aa466491c2
commit 6b1eb70239
7 changed files with 153 additions and 61 deletions

View File

@@ -1,12 +1,20 @@
<script setup>
import { ref } from 'vue';
import { ref, watch } from 'vue';
import { UserPrefStore } from '../stores/UserPrefStore.js';
import AppMenuItem from './AppMenuItem.vue';
const userPrefStore = UserPrefStore();
const model = ref([
{
label: '',
items: []
//items: [{ label: 'ATF-Notifier', icon: 'pi pi-fw pi-id-card', to: '/app-browser' }]
} ,
{
label: 'Scenarios',
items: [
@@ -16,12 +24,38 @@ const model = ref([
}, {
label: 'Canvas',
items: [{ label: 'New Canvas', icon: 'pi pi-fw pi-id-card', to: '/mdcanvas' }]
},{
label: 'Your Applications',
items: [{ label: 'ATF-Notifier', icon: 'pi pi-fw pi-id-card', to: '/app-browser' }]
}
}
]);
// Funzione per aggiornare la sezione "Your Applications" in base a selectedApp
function updateApplicationsMenu() {
const selectedApp = userPrefStore.getSelApp;
console.log("selectedApp", selectedApp);
if (selectedApp!=null) {
// Se selectedApp non è nullo, aggiorna gli item
model.value[0].label = selectedApp.fe_name;
// Aggiorna gli item dell'app selezionata
model.value[0].items = [
{ 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}` });
});
} else {
// Se selectedApp è nullo, svuota gli item
model.value[0].label = '';
model.value[0].items = [];
}
}
// Monitora i cambiamenti in selectedApp dallo store
watch(() => userPrefStore.getSelApp, updateApplicationsMenu, { immediate: true });
</script>
<template>