Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
20aa42bf
Commit
20aa42bf
authored
Mar 15, 2019
by
LianaHus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added key-navigation to modaldialog
parent
955dc3d2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
12 deletions
+53
-12
modaldialog.js
src/app/ui/modaldialog.js
+38
-12
modaldialog-styles.js
src/app/ui/styles/modaldialog-styles.js
+15
-0
No files found.
src/app/ui/modaldialog.js
View file @
20aa42bf
...
@@ -2,6 +2,7 @@ var yo = require('yo-yo')
...
@@ -2,6 +2,7 @@ var yo = require('yo-yo')
var
css
=
require
(
'./styles/modaldialog-styles'
)
var
css
=
require
(
'./styles/modaldialog-styles'
)
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
,
opts
)
=>
{
module
.
exports
=
(
title
,
content
,
ok
,
cancel
,
focusSelector
,
opts
)
=>
{
let
agreed
=
true
opts
=
opts
||
{}
opts
=
opts
||
{}
var
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
var
container
=
document
.
querySelector
(
`.
${
css
.
modal
}
`
)
if
(
!
container
)
{
if
(
!
container
)
{
...
@@ -31,10 +32,28 @@ module.exports = (title, content, ok, cancel, focusSelector, opts) => {
...
@@ -31,10 +32,28 @@ module.exports = (title, content, ok, cancel, focusSelector, opts) => {
show
()
show
()
function
setFocusOn
(
btn
)
{
var
okDiv
=
document
.
getElementById
(
'modal-footer-ok'
)
var
cancelDiv
=
document
.
getElementById
(
'modal-footer-cancel'
)
if
(
btn
===
'ok'
)
{
agreed
=
true
okDiv
.
style
.
backgroundColor
=
'var(--dark)'
okDiv
.
style
.
color
=
'var(--light)'
cancelDiv
.
style
.
backgroundColor
=
'var(--light)'
cancelDiv
.
style
.
color
=
'var(--dark)'
}
else
{
agreed
=
false
okDiv
.
style
.
backgroundColor
=
'var(--light)'
okDiv
.
style
.
color
=
'var(--dark)'
cancelDiv
.
style
.
backgroundColor
=
'var(--dark)'
cancelDiv
.
style
.
color
=
'var(--light)'
}
}
function
okListener
()
{
function
okListener
()
{
removeEventListener
()
removeEventListener
()
hide
()
hide
()
if
(
ok
&&
ok
.
fn
)
ok
.
fn
()
if
(
ok
&&
ok
.
fn
&&
agreed
)
ok
.
fn
()
}
}
function
cancelListener
()
{
function
cancelListener
()
{
...
@@ -53,6 +72,12 @@ module.exports = (title, content, ok, cancel, focusSelector, opts) => {
...
@@ -53,6 +72,12 @@ module.exports = (title, content, ok, cancel, focusSelector, opts) => {
}
else
if
(
e
.
keyCode
===
13
)
{
}
else
if
(
e
.
keyCode
===
13
)
{
e
.
preventDefault
()
e
.
preventDefault
()
okListener
()
okListener
()
}
else
if
(
e
.
keyCode
===
37
)
{
e
.
preventDefault
()
setFocusOn
(
'ok'
)
}
else
if
(
e
.
keyCode
===
39
)
{
e
.
preventDefault
()
setFocusOn
(
'cancel'
)
}
}
}
}
...
@@ -96,16 +121,17 @@ module.exports = (title, content, ok, cancel, focusSelector, opts) => {
...
@@ -96,16 +121,17 @@ module.exports = (title, content, ok, cancel, focusSelector, opts) => {
function
html
(
opts
)
{
function
html
(
opts
)
{
return
yo
`<div id="modal-dialog" class="
${
css
.
modal
}
">
return
yo
`<div id="modal-dialog" class="
${
css
.
modal
}
">
<div id="modal-background" class="
${
css
[
'modalBackground'
]}
"> </div>
<div id="modal-background" class="
${
css
[
'modalBackground'
]}
"> </div>
<div class="
${
css
[
'modalContent'
]}
bg-light text-secondary
${
opts
.
class
}
">
<div class="
${
css
[
'modalContent'
]}
bg-light text-secondary
${
opts
.
class
}
">
<div class="
${
css
[
'modalHeader'
]}
">
<div class="
${
css
[
'modalHeader'
]}
">
<h3></h3>
<h3></h3>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
<i id="modal-close" title="Close" class="fa fa-times
${
css
[
'modalClose'
]}
" aria-hidden="true"></i>
</div>
</div>
<div class="
${
css
[
'modalBody'
]}
"> -
<div class="
${
css
[
'modalBody'
]}
"> -
</div>
</div>
<div class="
${
css
[
'modalFooter'
]}
">
<div class="
${
css
[
'modalFooter'
]}
">
<span id="modal-footer-ok" class="
${
css
[
'modalFooterOk'
]}
btn btn-sm btn-primary">OK</span><span id="modal-footer-cancel" class="
${
css
[
'modalFooterCancel'
]}
btn btn-sm btn-primary">Cancel</span>
<span id="modal-footer-ok" class="
${
css
[
'modalFooterOk'
]}
btn btn-sm btn-dark autofocus tabindex='1'">OK</span>
</div>
<span id="modal-footer-cancel" class="
${
css
[
'modalFooterCancel'
]}
btn btn-sm btn-light tabindex='0'">Cancel</span>
</div>
</div>
</div>
</div>`
</div>`
}
}
src/app/ui/styles/modaldialog-styles.js
View file @
20aa42bf
...
@@ -56,9 +56,24 @@ var css = csjs`
...
@@ -56,9 +56,24 @@ var css = csjs`
animation-duration: 0.4s
animation-duration: 0.4s
}
}
.modalFooterOk {
.modalFooterOk {
background-color: var(--light);
color: var(--dark);
cursor: pointer;
}
.modalFooterOk:hover {
background-color: var(--dark);
color: var(--light);
cursor: pointer;
cursor: pointer;
}
}
.modalFooterCancel {
.modalFooterCancel {
background-color: var(--light);
color: var(--dark);
margin-left: 1em;
cursor: pointer;
}
.modalFooterCancel:hover {
background-color: var(--dark);
color: var(--light);
margin-left: 1em;
margin-left: 1em;
cursor: pointer;
cursor: pointer;
}
}
...
...
Write
Preview
Markdown
is supported
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