Requisito Toscano

This commit is contained in:
Florinda
2025-01-29 11:08:58 +01:00
parent 36a9811f05
commit b590508ca4
8 changed files with 1146 additions and 77 deletions

View File

@@ -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 });