Requisito Toscano
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
<script setup>
|
||||
import { ref, watch } from 'vue';
|
||||
|
||||
import { useRouter } from 'vue-router';
|
||||
import { UserPrefStore } from '../stores/UserPrefStore.js';
|
||||
import AppMenuItem from './AppMenuItem.vue';
|
||||
|
||||
const userPrefStore = UserPrefStore();
|
||||
const route = useRouter()
|
||||
|
||||
|
||||
const model = ref([
|
||||
@@ -13,14 +15,16 @@ const model = ref([
|
||||
label: 'Scenarios',
|
||||
items: [
|
||||
{ label: 'Available Scenarios', icon: 'pi pi-fw pi-id-card', to: '/' },
|
||||
{ label: 'Executions List', icon: 'pi pi-fw pi-id-card', to: '/executions' },
|
||||
{ label: 'Execution List', icon: 'pi pi-fw pi-list', command: () => {
|
||||
route.push({path: '/executions/all'});
|
||||
} },
|
||||
] },
|
||||
{
|
||||
label: '',
|
||||
items: [] } ,
|
||||
{
|
||||
label: 'Canvas',
|
||||
items: [{ label: 'New Canvas', icon: 'pi pi-fw pi-id-card', to: '/mdcanvas' }]
|
||||
items: [{ label: 'New Canvas', icon: 'pi pi-fw pi-pencil', to: '/mdcanvas' }]
|
||||
}
|
||||
|
||||
]);
|
||||
@@ -30,22 +34,62 @@ function updateApplicationsMenu() {
|
||||
const selectedApp = userPrefStore.getSelApp;
|
||||
console.log("selectedApp", selectedApp);
|
||||
|
||||
if (selectedApp!=null) {
|
||||
if (selectedApp != null) {
|
||||
// Se selectedApp non è nullo, aggiorna gli item
|
||||
model.value[1].label = selectedApp.fe_name;
|
||||
|
||||
// Aggiorna gli item dell'app selezionata
|
||||
// Aggiorna gli item dell'app selezionata
|
||||
model.value[1].items = [
|
||||
{ label: 'Rev Eng Code', icon: 'pi pi-fw pi-id-card', to: '/app-browser' }
|
||||
{
|
||||
label: 'Rev Eng Code',
|
||||
icon: 'pi pi-fw pi-wrench',
|
||||
command: () => {
|
||||
route.push({path: '/app-browser'});
|
||||
},
|
||||
items: [
|
||||
{
|
||||
label: 'Execution List', // Sottovoce per Rev Eng Code
|
||||
icon: 'pi pi-fw pi-list', // Icona per la sottovoce
|
||||
to: '/executions', // URL per la sottovoce
|
||||
command: () => {
|
||||
// Salva il nome dello scenario nello store
|
||||
userPrefStore.setSelectedScenario('Rev Eng Code');
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
if( selectedApp.available_scenarios.length > 0) {
|
||||
// Se ci sono scenari disponibili, aggiungili come sottovoci
|
||||
if (selectedApp.available_scenarios.length > 0) {
|
||||
selectedApp.available_scenarios.forEach(app => {
|
||||
model.value[1].items.push({ label: app.label, icon: 'pi pi-fw pi-id-card', to: `/scenario/exec/${app.scenario_id}` });
|
||||
let scenarioItem = {
|
||||
label: app.label,
|
||||
icon: 'pi pi-fw pi-wrench',
|
||||
|
||||
items: [] , // Sub-items per ogni scenario
|
||||
command: () => {
|
||||
route.push({path: `/scenario/exec/${app.scenario_id}`});
|
||||
}
|
||||
};
|
||||
|
||||
// Aggiungi la sottovoce "Execution List"
|
||||
scenarioItem.items.push({
|
||||
label: 'Execution List', // Etichetta della sottovoce
|
||||
icon: 'pi pi-fw pi-list', // Icona per la sottovoce
|
||||
to: '/executions/filter', // URL per la sottovoce
|
||||
command: () => {
|
||||
// Salva il nome dello scenario nello store
|
||||
userPrefStore.setSelectedScenario(app.label);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// Aggiungi lo scenario alla lista principale
|
||||
model.value[1].items.push(scenarioItem);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
// Se selectedApp è nullo, svuota gli item
|
||||
model.value[1].label = '';
|
||||
@@ -53,6 +97,8 @@ function updateApplicationsMenu() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Monitora i cambiamenti in selectedApp dallo store
|
||||
watch(() => userPrefStore.getSelApp, updateApplicationsMenu, { immediate: true });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user