Skip to content

Commit

Permalink
support currentTime attr of audio/video elements
Browse files Browse the repository at this point in the history
  • Loading branch information
rmorshea committed May 16, 2021
1 parent 9494bc0 commit 975b54a
Show file tree
Hide file tree
Showing 4 changed files with 229 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/idom/client/app/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

197 changes: 195 additions & 2 deletions src/idom/client/app/packages/idom-client-react/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/idom/client/app/packages/idom-client-react/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "idom-client-react",
"description": "A client for IDOM implemented in React",
"version": "0.7.3",
"version": "0.7.4",
"author": "Ryan Morshead",
"license": "MIT",
"repository": {
Expand All @@ -13,7 +13,7 @@
"src/**/*.js"
],
"scripts": {
"format": "prettier --print-width 88 --write ./src",
"format": "prettier --write ./src",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,41 @@
function serializeEvent(event) {
const data = {};
if ("value" in event.target) {
data.value = event.target.value;
}

if (event.type in eventTransforms) {
Object.assign(data, eventTransforms[event.type](event));
}

const target = event.target;
if (target.tagName in targetTransforms) {
Object.assign(data, targetTransforms[target.tagName](target));
}

return data;
}

const eventCategoryTransforms = {
const targetTransformCategories = {
hasValue: (target) => ({
value: target.value,
}),
hasCurrentTime: (target) => ({
currentTime: target.currentTime,
}),
};

const targetTagCategories = {
hasValue: ["BUTTON", "INPUT", "OPTION", "LI", "METER", "PROGRESS", "PARAM"],
hasCurrentTime: ["AUDIO", "VIDEO"],
};

const targetTransforms = {};

Object.keys(targetTagCategories).forEach((category) => {
targetTagCategories[category].forEach((type) => {
targetTransforms[type] = targetTransformCategories[category];
});
});

const eventTransformCategories = {
clipboard: (event) => ({
clipboardData: event.clipboardData,
}),
Expand Down Expand Up @@ -128,7 +154,7 @@ const eventTransforms = {};

Object.keys(eventTypeCategories).forEach((category) => {
eventTypeCategories[category].forEach((type) => {
eventTransforms[type] = eventCategoryTransforms[category];
eventTransforms[type] = eventTransformCategories[category];
});
});

Expand Down

0 comments on commit 975b54a

Please sign in to comment.