profiling + research + download
This commit is contained in:
@@ -1,13 +1,20 @@
|
||||
<script setup>
|
||||
import { useLayout } from '@/layout/composables/layout';
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { onMounted, computed, ref, watch } from 'vue';
|
||||
import AppFooter from './AppFooter.vue';
|
||||
import AppSidebar from './AppSidebar.vue';
|
||||
import AppTopbar from './AppTopbar.vue';
|
||||
import { UserPrefStore } from '../stores/UserPrefStore.js';
|
||||
|
||||
const { layoutConfig, layoutState, isSidebarActive, resetMenu } = useLayout();
|
||||
|
||||
const outsideClickListener = ref(null);
|
||||
const userPrefStore = UserPrefStore();
|
||||
|
||||
onMounted(() => {
|
||||
console.log("layout onmouted");
|
||||
userPrefStore.fetchUserData();
|
||||
});
|
||||
|
||||
watch(isSidebarActive, (newVal) => {
|
||||
if (newVal) {
|
||||
@@ -53,7 +60,7 @@ const isOutsideClicked = (event) => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="layout-wrapper" :class="containerClass">
|
||||
<div v-if="userPrefStore.userLoaded" class="layout-wrapper" :class="containerClass">
|
||||
<app-topbar></app-topbar>
|
||||
<div class="layout-sidebar">
|
||||
<app-sidebar></app-sidebar>
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
<script setup>
|
||||
import AppMenu from './AppMenu.vue';
|
||||
import { onMounted } from 'vue';
|
||||
import { UserPrefStore } from '../stores/UserPrefStore.js';
|
||||
|
||||
const userPrefStore = UserPrefStore();
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
@@ -2,14 +2,41 @@
|
||||
import logo from '@/assets/Apollo_simple_logo.webp';
|
||||
import { useLayout } from '@/layout/composables/layout';
|
||||
import { useAuth } from '@websanova/vue-auth/src/v3.js';
|
||||
import { ref } from 'vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { watch, ref, computed } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
//import AppConfigurator from './AppConfigurator.vue';
|
||||
import AppProfileMenu from './AppProfileMenu.vue';
|
||||
import { UserPrefStore } from '../stores/UserPrefStore.js';
|
||||
|
||||
const { onMenuToggle, toggleDarkMode, isDarkTheme } = useLayout();
|
||||
const auth = useAuth();
|
||||
const logoSrc = ref(logo);
|
||||
const userPrefStore = UserPrefStore();
|
||||
const router = useRouter();
|
||||
const selectedApp = ref(userPrefStore.getSelApp);
|
||||
const route = useRoute();
|
||||
|
||||
async function updateApplication() {
|
||||
await userPrefStore.setSelectedApp(selectedApp.value);
|
||||
|
||||
// here scenario_store.fetchApplicationScenarios();
|
||||
|
||||
}
|
||||
|
||||
function redirectProject() {
|
||||
router.push({ name: 'projects-list' }); // Specifica il percorso per la pagina "Projects"
|
||||
}
|
||||
|
||||
function appUpdated() {
|
||||
selectedApp.value = userPrefStore.getSelApp;
|
||||
}
|
||||
|
||||
const isDropdownDisabled = computed(() => {
|
||||
return route.path === '/projects'
|
||||
});
|
||||
|
||||
watch(() => userPrefStore.getSelApp, appUpdated, { immediate: true });
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -34,6 +61,18 @@ const logoSrc = ref(logo);
|
||||
<button type="button" class="layout-topbar-action" @click="toggleDarkMode">
|
||||
<i :class="['pi', { 'pi-moon': isDarkTheme, 'pi-sun': !isDarkTheme }]"></i>
|
||||
</button>
|
||||
|
||||
<div class="topbar-project">
|
||||
<button @click="redirectProject()" class="p-button p-button-outlined"
|
||||
v-tooltip="'Click to change the project'"> {{ userPrefStore.user.selectedProject.fe_name
|
||||
}}</button>
|
||||
<!-- <span v-if="userPrefStore.user.selectedProject">
|
||||
<small>PROJECT:</small> {{ userPrefStore.user.selectedProject.fe_name }}
|
||||
</span> -->
|
||||
</div>
|
||||
<Dropdown v-model="selectedApp" :options="userPrefStore.availableApp" optionLabel="fe_name"
|
||||
placeholder="Select an Application" class="dropdown-list menu-list" @change="updateApplication()"
|
||||
:disabled="isDropdownDisabled" />
|
||||
<!--div class="relative">
|
||||
<button
|
||||
v-styleclass="{ selector: '@next', enterFromClass: 'hidden', enterActiveClass: 'animate-scalein', leaveToClass: 'hidden', leaveActiveClass: 'animate-fadeout', hideOnOutsideClick: true }"
|
||||
|
||||
Reference in New Issue
Block a user