Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Mirador annotations
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
IIIF
Mirador
Mirador annotations
Commits
441376d2
Commit
441376d2
authored
Dec 1, 2023
by
Antoine Roy
Browse files
Options
Downloads
Patches
Plain Diff
Change HMSinput's input type and refactor how the update of props are managed
parent
ab9e6df3
No related branches found
No related tags found
1 merge request
!7
Change on the slide bar's UI from pluggin annotation
Pipeline
#1615
failed
Dec 1, 2023
Stage: test
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/HMSInput.js
+17
-71
17 additions, 71 deletions
src/HMSInput.js
with
17 additions
and
71 deletions
src/HMSInput.js
+
17
−
71
View file @
441376d2
...
...
@@ -18,13 +18,7 @@ class HMSInput extends Component {
minutes
:
m
,
seconds
:
s
,
};
this
.
someChange
=
this
.
someChange
.
bind
(
this
);
this
.
addOneSec
=
this
.
addOneSec
.
bind
(
this
);
this
.
subOneSec
=
this
.
subOneSec
.
bind
(
this
);
this
.
modifySec
=
this
.
modifySec
.
bind
(
this
);
this
.
modifyMinute
=
this
.
modifyMinute
.
bind
(
this
);
this
.
modifyHours
=
this
.
modifyHours
.
bind
(
this
);
}
/** update */
...
...
@@ -43,71 +37,10 @@ class HMSInput extends Component {
someChange
(
ev
)
{
const
{
onChange
}
=
this
.
props
;
const
{
state
}
=
this
;
if
(
Number
(
isNaN
(
ev
.
target
.
value
))){
return
;
}
else
{
console
.
log
(
Number
(
ev
.
target
.
value
));
state
[
ev
.
target
.
name
]
=
Number
(
ev
.
target
.
value
);
onChange
(
state
.
hours
*
3600
+
state
.
minutes
*
60
+
state
.
seconds
);
}
}
/** Add one second by simulating an input change */
addOneSec
()
{
const
{
seconds
}
=
this
.
state
;
this
.
someChange
({
target
:
{
name
:
'
seconds
'
,
value
:
seconds
+
1
}
});
}
/** Substract one second by simulating an input change */
subOneSec
()
{
const
{
seconds
}
=
this
.
state
;
this
.
someChange
({
target
:
{
name
:
'
seconds
'
,
value
:
seconds
-
1
}
});
}
// Bind arrow key up and down to call subOneSec or AddOneSec
modifySec
(
event
){
if
(
event
.
key
===
'
ArrowUp
'
){
this
.
addOneSec
();
}
else
if
(
event
.
key
===
'
ArrowDown
'
){
this
.
subOneSec
();
}
}
/** Add one minute by simulating an input change */
addOneMinute
(){
const
{
minutes
}
=
this
.
state
;
this
.
someChange
(
{
target
:
{
name
:
'
minutes
'
,
value
:
minutes
+
1
}
});
}
console
.
log
(
'
h :
'
+
state
.
hours
+
'
m :
'
+
state
.
minutes
+
'
s :
'
+
state
.
seconds
)
/** Substract one minute by simulation an input change*/
subOneMinute
()
{
const
{
minutes
}
=
this
.
state
;
this
.
someChange
({
target
:
{
name
:
'
minutes
'
,
value
:
minutes
-
1
}
});
}
// Bind arrow key up and down to call subOneMinute or AddOneMinute
modifyMinute
(
event
){
if
(
event
.
key
===
'
ArrowUp
'
){
this
.
addOneMinute
();
}
else
if
(
event
.
key
===
'
ArrowDown
'
){
this
.
subOneMinute
();
}
}
addOneHour
(){
const
{
hours
}
=
this
.
state
;
this
.
someChange
({
target
:
{
name
:
'
hours
'
,
value
:
hours
+
1
}})
}
subOneHour
(){
const
{
hours
}
=
this
.
state
;
this
.
someChange
({
target
:
{
name
:
'
hours
'
,
value
:
hours
-
1
}})
}
modifyHours
(
event
){
if
(
event
.
key
===
'
ArrowUp
'
){
this
.
addOneHour
();
}
else
if
(
event
.
key
===
'
ArrowDown
'
){
this
.
subOneHour
();
}
}
/** Render */
...
...
@@ -117,9 +50,9 @@ class HMSInput extends Component {
return
(
<
div
className
=
{
classes
.
root
}
>
<
div
className
=
{
classes
.
root
}
>
<
Input
className
=
{
classes
.
input
}
name
=
"
hours
"
value
=
{
hours
}
onKeyDown
=
{
this
.
modifyH
ours
}
onChange
=
{
this
.
someChange
}
/
>
<
Input
className
=
{
classes
.
input
}
name
=
"
minutes
"
value
=
{
minutes
}
onKeyDown
=
{
this
.
modifyMinute
}
onChange
=
{
this
.
someChange
}
/
>
<
Input
className
=
{
classes
.
input
}
name
=
"
seconds
"
value
=
{
seconds
}
onKeyDown
=
{
this
.
modifySec
}
onChange
=
{
this
.
someChange
}
/
>
<
Input
className
=
{
classes
.
input
}
type
=
'
number
'
min
=
'
0
'
pattern
name
=
"
hours
"
value
=
{
h
ours
}
onChange
=
{
this
.
someChange
}
/
>
<
Input
className
=
{
classes
.
input
}
type
=
'
number
'
min
=
'
0
'
max
=
'
59
'
name
=
"
minutes
"
value
=
{
minutes
}
onChange
=
{
this
.
someChange
}
/
>
<
Input
className
=
{
classes
.
input
}
type
=
'
number
'
min
=
'
0
'
max
=
'
59
'
name
=
"
seconds
"
value
=
{
seconds
}
onChange
=
{
this
.
someChange
}
/
>
<
/div
>
<
/div
>
);
...
...
@@ -145,6 +78,19 @@ const styles = (theme) => ({
margin
:
'
2px
'
,
textAlign
:
'
center
'
,
width
:
'
4ch
'
,
// remove arrow from field for Firefox
'
& input[type=number]
'
:
{
'
-moz-appearance
'
:
'
textfield
'
},
// remove arrow from field for Chrome, Safari and Opera
'
& input[type=number]::-webkit-outer-spin-button
'
:
{
'
-webkit-appearance
'
:
'
none
'
,
margin
:
0
},
'
& input[type=number]::-webkit-inner-spin-button
'
:
{
'
-webkit-appearance
'
:
'
none
'
,
margin
:
0
}
},
});
...
...
This diff is collapsed.
Click to expand it.
Antoine Roy
@antoine
mentioned in issue
#15 (closed)
·
Dec 1, 2023
mentioned in issue
#15 (closed)
mentioned in issue #15
Toggle commit list
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment