Mentions légales du service

Skip to content
Snippets Groups Projects
Commit d9602951 authored by VIAUD Nathan's avatar VIAUD Nathan
Browse files

Refactor repeat input function

parent 7c8e11c5
No related branches found
No related tags found
No related merge requests found
Pipeline #815558 passed
......@@ -34,6 +34,9 @@ function onInput(value: string, id: string) {
graphService.writeProjectData();
}
//Repeat Input
function onRepeatInput(value, id: string) {
const element = editorStore.openedNodeId
? currentNode.data.elements.find(e => e.id === editorStore.openedElementId)
......@@ -44,49 +47,25 @@ function onRepeatInput(value, id: string) {
case 'add':
{
const formValues = element ? element.formValues : currentNode.data.formValues;
if(!formValues[id]) formValues[id] = [];
formValues[id].push(value.defaultValues);
handleAddRepeatInput(element, value, id);
break;
}
case 'remove':
{
const formValues = element ? element.formValues[id] : currentNode.data.formValues[id];
formValues.splice(value.index, 1);
const currentElement = currentNode.data.elements?.[value.index];
if(!editorStore.openedNodeId && currentElement) {
deleteElement(currentElement.id, currentElement.parentId);
}
handleRemoveRepeatInput(element, value, id);
break;
}
case 'move':
if(currentNode.data.elements && !editorStore.openedNodeId) {
changeContentOrder(value.oldIndex, value.newIndex, currentNode.id);
} else {
const items = element ? element.formValues[id] : currentNode.data.formValues[id];
const item = items.splice(value.oldIndex, 1);
items.splice(value.newIndex, 0, item[0]);
}
{
handleMoveRepeatInput(element, value, id);
break;
}
case 'change':
{
const formValues = element ? element.formValues : currentNode.data.formValues;
if(value.id === '') {
formValues[id][value.index] = value.value;
} else {
if(!formValues[id]) formValues[id] = {};
if(!formValues[id][value.index]) formValues[id][value.id] = {};
formValues[id][value.index][value.id] = value.value;
}
handleChangeRepeatInput(element, value, id);
break;
}
......@@ -94,9 +73,50 @@ function onRepeatInput(value, id: string) {
}
graphService.writeProjectData();
}
function handleAddRepeatInput(element, value, id: string): void {
const formValues = element ? element.formValues : currentNode.data.formValues;
if(!formValues[id]) formValues[id] = [];
formValues[id].push(value.defaultValues);
}
function handleRemoveRepeatInput(element, value, id: string): void {
const formValues = element ? element.formValues[id] : currentNode.data.formValues[id];
formValues.splice(value.index, 1);
const currentElement = currentNode.data.elements?.[value.index];
if(!editorStore.openedNodeId && currentElement) {
deleteElement(currentElement.id, currentElement.parentId);
}
}
function handleMoveRepeatInput(element, value, id: string): void {
if(currentNode.data.elements && !editorStore.openedNodeId) {
changeContentOrder(value.oldIndex, value.newIndex, currentNode.id);
} else {
const items = element ? element.formValues[id] : currentNode.data.formValues[id];
const item = items.splice(value.oldIndex, 1);
items.splice(value.newIndex, 0, item[0]);
}
}
function handleChangeRepeatInput(element, value, id: string): void {
const formValues = element ? element.formValues : currentNode.data.formValues;
if(value.id === '') {
formValues[id][value.index] = value.value;
} else {
if(!formValues[id]) formValues[id] = {};
if(!formValues[id][value.index]) formValues[id][value.id] = {};
formValues[id][value.index][value.id] = value.value;
}
}
// Repeat Input end
</script>
<template>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment