Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
webf
react-webf
Commits
71d2714e
Commit
71d2714e
authored
Mar 23, 2020
by
Damien Mariotto
Browse files
[Modal] Missing proptypes + fix effects
parent
32f49814
Pipeline
#1636
passed with stage
in 55 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/Modal/Modal.js
View file @
71d2714e
...
...
@@ -28,9 +28,9 @@ function Modal({
disableEscapeKeyDown
,
...
props
})
{
le
t
[
exited
,
setExited
]
=
useState
(
!
props
.
open
);
le
t
[
prevOpen
,
setPrevOpen
]
=
useState
(
null
);
le
t
node
=
useRef
();
cons
t
[
exited
,
setExited
]
=
useState
(
!
props
.
open
);
cons
t
[
prevOpen
,
setPrevOpen
]
=
useState
(
null
);
cons
t
node
=
useRef
();
if
(
props
.
open
!==
prevOpen
)
{
// getDerivedStateFromProps
...
...
@@ -44,16 +44,12 @@ function Modal({
}
useEffect
(()
=>
{
setTimeout
(()
=>
{
document
.
addEventListener
(
'
keydown
'
,
handleKeyDown
);
});
document
.
addEventListener
(
'
keydown
'
,
handleKeyDown
);
return
()
=>
{
setTimeout
(()
=>
{
document
.
removeEventListener
(
'
keydown
'
,
handleKeyDown
);
});
document
.
removeEventListener
(
'
keydown
'
,
handleKeyDown
);
};
});
}
,
[]
);
useEffect
(()
=>
{
document
.
addEventListener
(
'
mousedown
'
,
handleClickOutside
,
false
);
...
...
@@ -61,7 +57,7 @@ function Modal({
return
()
=>
{
document
.
removeEventListener
(
'
mousedown
'
,
handleClickOutside
,
false
);
};
});
}
,
[]
);
const
handleKeyDown
=
e
=>
{
if
(
e
.
key
===
'
Escape
'
||
e
.
key
===
'
Esc
'
||
e
.
keyCode
===
27
)
{
...
...
@@ -179,11 +175,12 @@ Modal.propTypes = {
/**
* Si `true`, appuyer sur 'Echap' ne déclenche pas la fonction de callback onClose
*/
disableEscapeKeyDown
:
PropTypes
.
bool
};
disableEscapeKeyDown
:
PropTypes
.
bool
,
Modal
.
defaultTypes
=
{
open
:
false
/**
* Callback appelée lors de la fermeture de la boîte de dialogue
*/
onClose
:
PropTypes
.
func
.
isRequired
};
export
default
withStyles
(
styles
)(
Modal
);
src/Modal/demos/SimpleModal.js
View file @
71d2714e
import
React
,
{
Fragment
,
useState
}
from
'
react
'
;
import
{
Link
}
from
'
react-router-dom
'
;
import
{
Fade
,
Modal
,
Text
,
Button
,
Row
,
Col
}
from
'
@webalt/react
'
;
import
{
withStyles
}
from
'
../../styles
'
;
import
{
Fade
,
Modal
,
Text
,
Button
,
Row
,
Col
,
withStyles
}
from
'
@webalt/react
'
;
const
styles
=
theme
=>
({
root
:
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment