Skip to content
Snippets Groups Projects
Commit 7bf16bef authored by ali asaria's avatar ali asaria
Browse files

simplify logic a bit

parent 5e277675
No related branches found
No related tags found
No related merge requests found
...@@ -49,6 +49,30 @@ function PluginIntroduction({ experimentInfo, pluginId }) { ...@@ -49,6 +49,30 @@ function PluginIntroduction({ experimentInfo, pluginId }) {
); );
} }
/* This function looks at all the generations that are stored in the experiment JSON
and returns the generation that matches the generationName */
function getGenerationFromGenerationsArray(generationsStr, generationName) {
let thisGeneration = null;
console.log(generationName);
if (typeof generationsStr === 'string') {
try {
const generations = JSON.parse(generationsStr);
console.log('generations:', generations);
if (Array.isArray(generations)) {
thisGeneration = generations.find(
(generation) => generation.name === generationName
);
}
} catch (error) {
console.error('Failed to parse generations JSON string:', error);
}
}
console.log('thisGeneration', thisGeneration);
return thisGeneration;
}
export default function GenerateModal({ export default function GenerateModal({
open, open,
onClose, onClose,
...@@ -119,78 +143,71 @@ export default function GenerateModal({ ...@@ -119,78 +143,71 @@ export default function GenerateModal({
if (currentGenerationName && currentGenerationName !== '') { if (currentGenerationName && currentGenerationName !== '') {
const generationsStr = experimentInfo.config?.generations; const generationsStr = experimentInfo.config?.generations;
setSelectedDocs([]); setSelectedDocs([]);
if (typeof generationsStr === 'string') {
try {
const generations = JSON.parse(generationsStr);
if (Array.isArray(generations)) {
const generationConfig = generations.find(
(generationItem: any) =>
generationItem.name === currentGenerationName &&
generationItem.plugin === pluginId
);
if (generationConfig) {
setConfig(generationConfig.script_parameters);
const datasetKeyExists = Object.keys( if (generationsStr) {
generationConfig.script_parameters const generationConfig = getGenerationFromGenerationsArray(
).some((key) => key.toLowerCase().includes('dataset')); generationsStr,
currentGenerationName
);
if (generationConfig) {
setConfig(generationConfig.script_parameters);
const docsKeyExists = Object.keys( const datasetKeyExists = Object.keys(
generationConfig.script_parameters generationConfig.script_parameters
).some((key) => key.toLowerCase().includes('docs')); ).some((key) => key.toLowerCase().includes('dataset'));
const contextKeyExists = Object.keys( const docsKeyExists = Object.keys(
generationConfig.script_parameters generationConfig.script_parameters
).some((key) => key.toLowerCase().includes('context')); ).some((key) => key.toLowerCase().includes('docs'));
setHasDatasetKey(datasetKeyExists); const contextKeyExists = Object.keys(
generationConfig.script_parameters
).some((key) => key.toLowerCase().includes('context'));
if ( setHasDatasetKey(datasetKeyExists);
docsKeyExists &&
generationConfig.script_parameters.docs.length > 0
) {
setHasContextKey(false);
setHasDocumentsKey(true);
generationConfig.script_parameters.docs =
generationConfig.script_parameters.docs.split(',');
setConfig(generationConfig.script_parameters);
setSelectedDocs(generationConfig.script_parameters.docs);
} else if (
contextKeyExists &&
generationConfig.script_parameters.context.length > 0
) {
setHasContextKey(true);
setHasDocumentsKey(false);
const context = generationConfig.script_parameters.context;
setContextInput(context);
delete generationConfig.script_parameters.context;
setConfig(generationConfig.script_parameters);
}
if ( if (
hasDatasetKey && docsKeyExists &&
generationConfig.script_parameters.dataset_name.length > 0 generationConfig.script_parameters.docs.length > 0
) { ) {
setSelectedDataset( setHasContextKey(false);
generationConfig.script_parameters.dataset_name setHasDocumentsKey(true);
); generationConfig.script_parameters.docs =
} generationConfig.script_parameters.docs.split(',');
if ( setConfig(generationConfig.script_parameters);
generationConfig.script_parameters._dataset_display_message && setSelectedDocs(generationConfig.script_parameters.docs);
generationConfig.script_parameters._dataset_display_message } else if (
.length > 0 contextKeyExists &&
) { generationConfig.script_parameters.context.length > 0
setDatasetDisplayMessage( ) {
generationConfig.script_parameters._dataset_display_message setHasContextKey(true);
); setHasDocumentsKey(false);
} const context = generationConfig.script_parameters.context;
if (!nameInput && generationConfig?.name.length > 0) { setContextInput(context);
setNameInput(generationConfig.name); delete generationConfig.script_parameters.context;
} setConfig(generationConfig.script_parameters);
} }
if (
hasDatasetKey &&
generationConfig.script_parameters.dataset_name.length > 0
) {
setSelectedDataset(
generationConfig.script_parameters.dataset_name
);
}
if (
generationConfig.script_parameters._dataset_display_message &&
generationConfig.script_parameters._dataset_display_message
.length > 0
) {
setDatasetDisplayMessage(
generationConfig.script_parameters._dataset_display_message
);
}
if (!nameInput && generationConfig?.name.length > 0) {
setNameInput(generationConfig.name);
} }
} catch (error) {
console.error('Failed to parse generations JSON string:', error);
} }
} }
} else { } else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment