Skip to content
This repository was archived by the owner on May 25, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ const ShexFormBuilder = ({
const onDelete = useCallback(async (shexj: ShexJ, parent: any = false) => {
try {
const deleted = await deleteFn(shexj, parent);
if (deleted) {
if (!formError) {
updateShexJ(deleted, "delete");
successCallback();
}
Expand Down
6 changes: 2 additions & 4 deletions src/lib/hooks/useForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ export const useForm = (documentUri: String) => {

const onDelete = async (shexj: ShexJ, parent: any = false) => {
try {
let deleted = null;
const { _formFocus } = shexj;
const { parentSubject, name, value, isNew } = _formFocus;
if (_formFocus && !isNew) {
Expand All @@ -79,12 +78,11 @@ export const useForm = (documentUri: String) => {

await ldflex[parentSubject][predicate].delete(value);
}
deleted = name;
}
// Delete field from formValues object
const { [name]: omit, ...res } = formValues;
setFormValues(res);
return deleted;
return name;
} catch (error) {
onError(error);
}
Expand Down Expand Up @@ -208,7 +206,7 @@ export const useForm = (documentUri: String) => {
value = namedNode(value);
defaultValue = namedNode(defaultValue);
}

const field = {
...formValues[key],
value: _setFieldValue(
Expand Down
18 changes: 4 additions & 14 deletions src/lib/hooks/useShex.js
Original file line number Diff line number Diff line change
Expand Up @@ -309,22 +309,12 @@ export const useShex = (fileShex: String, documentUri: String, rootShape: String
for (let y = 0; y < newExpressions[i]._formValues.length; y++) {

if (newExpressions[i]._formValues[y]._formFocus.name === options.key) {

if (action === 'delete') {
// If field is the last one will keep it but will update value and name
newExpressions[i]._formValues.splice(y, y + 1);
if(newExpressions[i]._formValues.length > 1) {

} /* else {
newExpressions[i]._formValues[0] = {
...newExpressions[i]._formValues[0],
_formFocus: {
...newExpressions[i]._formValues[0]._formFocus,
value: '',
name: unique()
}
}
} */
let toIndex = newExpressions[i]._formValues.length === 1 ? 1 : 0;

newExpressions[i]._formValues.splice(y, y + toIndex);

} else {
newExpressions[i]._formValues[y] = {
...newExpressions[i]._formValues[y],
Expand Down