diff --git a/src/layout/AppMenu.vue b/src/layout/AppMenu.vue index 0ab70b6..4a42332 100644 --- a/src/layout/AppMenu.vue +++ b/src/layout/AppMenu.vue @@ -1,10 +1,12 @@ \ No newline at end of file diff --git a/src/views/pages/ScenarioExecList.vue b/src/views/pages/ScenarioExecList.vue index cde508d..0ab27d8 100644 --- a/src/views/pages/ScenarioExecList.vue +++ b/src/views/pages/ScenarioExecList.vue @@ -137,7 +137,18 @@ placeholder="Search by File" /> - + + + + {{ slotProps.data.executedByUsername || 'N/A' }} + + + + + + @@ -171,10 +182,11 @@ import 'md-editor-v3/lib/style.css'; import moment from 'moment'; import ProgressSpinner from 'primevue/progressspinner'; import { useToast } from 'primevue/usetoast'; -import { onMounted, ref } from 'vue'; +import { onMounted, ref, watch } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { ScenarioService } from '../../service/ScenarioService.js'; import { ScenarioExecutionStore } from '../../stores/ScenarioExecutionStore.js'; +import { UserPrefStore } from '../../stores/UserPrefStore.js'; const first = ref(0); const router = useRouter(); @@ -193,6 +205,7 @@ const execution_id = ref(""); const listScenarios = ref([]); const scenario_execution_store = ScenarioExecutionStore(); const toast = useToast(); +const userPrefStore = UserPrefStore(); @@ -225,6 +238,11 @@ const filters = ref({ operator: FilterOperator.AND, constraints: [{ value: null, matchMode: FilterMatchMode.CONTAINS }] }, + + 'executedByUsername': { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.CONTAINS }] + }, 'startDate': { operator: FilterOperator.AND, @@ -235,7 +253,20 @@ const filters = ref({ onMounted(() => { scenario_execution_store.fetchScenariosExecution() + updateFilters(); }); +watch(() => route.params.name, updateFilters); + +function updateFilters() { + const selectedScenario = userPrefStore.getSelScenario; + + if (selectedScenario && route.params.name!=='all') { + console.log('selectedScenario: im in'); + filters.value['scenario.name'].constraints[0].value = selectedScenario; + }else{ + filters.value['scenario.name'].constraints[0].value = null; + } +} async function updateRating(rowData, newRating) { @@ -287,7 +318,10 @@ function onPage(event) { first.value = event.first; } - +// onBeforeRouteLeave((to, from, next) => { +// userPrefStore.setSelectedScenario(null); +// console.log('selectedScenario: im out'); +// }); diff --git a/src/views/pages/ScenarioList.vue b/src/views/pages/ScenarioList.vue index 8a21505..33b3c14 100644 --- a/src/views/pages/ScenarioList.vue +++ b/src/views/pages/ScenarioList.vue @@ -102,6 +102,9 @@ const scenarioTypeOp = ref([ scenario_store.fetchScenarios(); scenario_store.fetchScenariosCross(); + if(userPrefStore.getSelApp != null){ + scenario_store.fetchApplicationScenarios(); + } }); });