Skip to content

Commit 919fe46

Browse files
committed
serialize files attribute of file input element
1 parent d55a28f commit 919fe46

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/idom/client/app/packages/idom-client-react/src/event-to-object.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ function serializeEvent(event) {
77

88
const target = event.target;
99
if (target.tagName in targetTransforms) {
10-
Object.assign(data, targetTransforms[target.tagName](target));
10+
targetTransforms[target.tagName].forEach((trans) =>
11+
Object.assign(data, trans(target))
12+
);
1113
}
1214

1315
return data;
@@ -20,18 +22,23 @@ const targetTransformCategories = {
2022
hasCurrentTime: (target) => ({
2123
currentTime: target.currentTime,
2224
}),
25+
hasFiles: (target) => {
26+
return target.type == "file" ? { files: target.files } : {};
27+
},
2328
};
2429

2530
const targetTagCategories = {
2631
hasValue: ["BUTTON", "INPUT", "OPTION", "LI", "METER", "PROGRESS", "PARAM"],
2732
hasCurrentTime: ["AUDIO", "VIDEO"],
33+
hasFiles: ["INPUT"],
2834
};
2935

3036
const targetTransforms = {};
3137

3238
Object.keys(targetTagCategories).forEach((category) => {
3339
targetTagCategories[category].forEach((type) => {
34-
targetTransforms[type] = targetTransformCategories[category];
40+
const transforms = targetTransforms[type] || (targetTransforms[type] = []);
41+
transforms.push(targetTransformCategories[category]);
3542
});
3643
});
3744

0 commit comments

Comments
 (0)