From 5dc8a86ed7503e16e04a67bbbbe76a9dc634473f Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo <priyadi@priyadi.net>
Date: Wed, 18 Oct 2023 16:59:28 +0700
Subject: [PATCH] Do not attempt to set value if the field is a file field

---
 src/js/app/view/data.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/js/app/view/data.js b/src/js/app/view/data.js
index 770ecae0..2ff58453 100644
--- a/src/js/app/view/data.js
+++ b/src/js/app/view/data.js
@@ -63,7 +63,8 @@ const didRemoveItem = ({ root, action }) => {
     delete root.ref.fields[action.id];
 };
 
-// only runs for server files (so doesn't deal with file input)
+// only runs for server files. will refuse to update the value if the field
+// is a file field
 const didDefineValue = ({ root, action }) => {
     const field = getField(root, action.id);
     if (!field) return;
@@ -72,7 +73,9 @@ const didDefineValue = ({ root, action }) => {
         field.removeAttribute('value');
     } else {
         // set field value
-        field.value = action.value;
+        if (field.type != 'file') {
+            field.value = action.value;
+        }
     }
     syncFieldPositionsWithItems(root);
 };