Added logic for KT scenario
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
Reference in New Issue
Block a user