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">
<table class="table-auto w-full border-collapse border border-gray-300">
<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-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">
@@ -152,7 +152,7 @@ import { MdPreview } from 'md-editor-v3';
import 'md-editor-v3/lib/style.css';
import ProgressSpinner from 'primevue/progressspinner';
import { useToast } from 'primevue/usetoast';
import { onMounted, ref } from 'vue';
import { onMounted, ref, computed} from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { JellyfishLoader } from 'vue3-spinner';
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) => {
try {

View File

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