Added logic for KT scenario

This commit is contained in:
2025-05-20 15:16:16 +02:00
parent 2807115239
commit 96c523dd77
2 changed files with 14 additions and 15 deletions

View File

@@ -35,7 +35,7 @@
<div class="box p-4 border rounded-md shadow-sm" style="background-color: white"> <div class="box p-4 border rounded-md shadow-sm" style="background-color: white">
<table class="table-auto w-full border-collapse border border-gray-300"> <table class="table-auto w-full border-collapse border border-gray-300">
<tbody> <tbody>
<tr v-for="(input, index) in inputs" :key="index"> <tr v-for="(input, index) in filteredInputs" :key="index">
<th v-if="index === 'MultiFileUpload'" class="border border-gray-300 px-4 py-2">Files Uploaded</th> <th v-if="index === 'MultiFileUpload'" class="border border-gray-300 px-4 py-2">Files Uploaded</th>
<th v-else-if="index === 'SingleFileUpload'" class="border border-gray-300 px-4 py-2 bg-gray-500 text-white">Parameter</th> <th v-else-if="index === 'SingleFileUpload'" class="border border-gray-300 px-4 py-2 bg-gray-500 text-white">Parameter</th>
<th v-else class="border border-gray-300 px-4 py-2"> <th v-else class="border border-gray-300 px-4 py-2">
@@ -152,7 +152,7 @@ import { MdPreview } from 'md-editor-v3';
import 'md-editor-v3/lib/style.css'; import 'md-editor-v3/lib/style.css';
import ProgressSpinner from 'primevue/progressspinner'; import ProgressSpinner from 'primevue/progressspinner';
import { useToast } from 'primevue/usetoast'; import { useToast } from 'primevue/usetoast';
import { onMounted, ref } from 'vue'; import { onMounted, ref, computed} from 'vue';
import { useRoute, useRouter } from 'vue-router'; import { useRoute, useRouter } from 'vue-router';
import { JellyfishLoader } from 'vue3-spinner'; import { JellyfishLoader } from 'vue3-spinner';
import { ScenarioService } from '../../service/ScenarioService.js'; import { ScenarioService } from '../../service/ScenarioService.js';
@@ -233,6 +233,10 @@ const retrieveScenarioExec = (id) => {
} }
}); });
}; };
const filteredInputs = computed(() => {
const { input_multiselect_id, ...rest } = inputs.value;
return rest;
});
const extractFiles = async (base64String, type, zip) => { const extractFiles = async (base64String, type, zip) => {
try { try {

View File

@@ -40,7 +40,6 @@
:invalidFileSizeMessage="'Invalid file size, file size should be smaller than 20 MB'" :invalidFileSizeMessage="'Invalid file size, file size should be smaller than 20 MB'"
v-model:files="uploadedFiles" v-model:files="uploadedFiles"
@before-send="onBeforeSend" @before-send="onBeforeSend"
> >
<template #content="{ files, uploadedFiles, removeUploadedFileCallback, removeFileCallback }"> <template #content="{ files, uploadedFiles, removeUploadedFileCallback, removeFileCallback }">
<div class="pt-4"> <div class="pt-4">
@@ -104,9 +103,8 @@
:maxFileSize="20971520" :maxFileSize="20971520"
v-model:files="uploadedFiles" v-model:files="uploadedFiles"
@before-send="onBeforeSend" @before-send="onBeforeSend"
>
> >
>
<template #content="{ files, uploadedFiles, removeUploadedFileCallback, removeFileCallback }"> <template #content="{ files, uploadedFiles, removeUploadedFileCallback, removeFileCallback }">
<div class="pt-4"> <div class="pt-4">
<!-- Tabella per file in caricamento --> <!-- Tabella per file in caricamento -->
@@ -379,11 +377,8 @@ const isInputFilled = computed(() => {
isFilled = false; isFilled = false;
} else { } else {
const processedData = { ...formData.value }; const processedData = { ...formData.value };
if (processedData.video_group) { if (processedData.input_multiselect) {
processedData.input_multiselect = JSON.stringify(processedData.input_multiselect.map((item) => item.id));
processedData.video_group = JSON.stringify(
processedData.video_group.map((item) => item.id)
);
} }
} }
}); });
@@ -450,7 +445,7 @@ function fetchScenario(id) {
const onBeforeSend = (event) => { const onBeforeSend = (event) => {
const { xhr } = event; // Estraggo l'oggetto XMLHttpRequest const { xhr } = event; // Estraggo l'oggetto XMLHttpRequest
console.log('xhr', xhr); console.log('xhr', xhr);
var token = auth.token() var token = auth.token();
xhr.setRequestHeader('Authorization', 'Bearer ' + token); // Imposta il tipo di contenuto xhr.setRequestHeader('Authorization', 'Bearer ' + token); // Imposta il tipo di contenuto
}; };
@@ -494,10 +489,10 @@ const execScenario = () => {
// Crea una copia dei dati del form // Crea una copia dei dati del form
const processedData = { ...formData.value }; const processedData = { ...formData.value };
if (processedData.video_group) { if (processedData.input_multiselect) {
processedData.video_group = JSON.stringify( processedData.input_multiselect_id = JSON.stringify(processedData.input_multiselect.map((item) => item.id));
processedData.video_group.map((item) => item.id) processedData.input_multiselect_name = JSON.stringify(processedData.input_multiselect.map((item) => item.name));
); delete processedData.input_multiselect;
} }
const data = { const data = {