mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 15:30:13 +01:00
Implement a modal system
I decided to create my own and not to use a community package, because 1. it's straightforward 2. it's better integrated with our others libs such as EscapeActions 3. monitoring third-party packages evolutions (eg, CSS changes) is a lot of work. This is basically the same rationale than for our other generic UI components such as the Popup/Popover. This commit also slightly modify the general layout to remove unnecessary wrapper DOM nodes.
This commit is contained in:
parent
46a5e08aa7
commit
9faaf07e02
7 changed files with 79 additions and 10 deletions
|
|
@ -30,7 +30,7 @@ BlazeComponent.extendComponent({
|
|||
$cards.sortable({
|
||||
connectWith: '.js-minicards',
|
||||
tolerance: 'pointer',
|
||||
appendTo: '#surface',
|
||||
appendTo: 'body',
|
||||
helper: function(evt, item) {
|
||||
var helper = item.clone();
|
||||
if (MultiSelection.isActive()) {
|
||||
|
|
|
|||
|
|
@ -11,10 +11,16 @@ template(name="userFormsLayout")
|
|||
+Template.dynamic(template=content)
|
||||
|
||||
template(name="defaultLayout")
|
||||
#surface
|
||||
+header
|
||||
#content
|
||||
+Template.dynamic(template=content)
|
||||
+header
|
||||
#content
|
||||
+Template.dynamic(template=content)
|
||||
if (Modal.isOpen)
|
||||
#modal
|
||||
.overlay
|
||||
.modal-content
|
||||
a.modal-close-btn.js-close-modal
|
||||
i.fa.fa-times-thin
|
||||
+Template.dynamic(template=Modal.getTemplateName)
|
||||
|
||||
template(name="notFound")
|
||||
+message(label='page-not-found')
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
Meteor.subscribe('boards');
|
||||
Meteor.subscribe('boards')
|
||||
|
||||
BlazeLayout.setRoot('body')
|
||||
|
||||
Template.userFormsLayout.onRendered(function() {
|
||||
EscapeActions.executeAll();
|
||||
});
|
||||
EscapeActions.executeAll()
|
||||
})
|
||||
|
||||
Template.defaultLayout.events({
|
||||
'click .js-close-modal': () => {
|
||||
Modal.close()
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -19,8 +19,6 @@ body
|
|||
position: relative
|
||||
z-index: 0
|
||||
overflow-y: auto
|
||||
|
||||
#surface
|
||||
display: flex
|
||||
flex-direction: column
|
||||
min-height: 100vh
|
||||
|
|
@ -30,6 +28,30 @@ body
|
|||
position: relative
|
||||
flex: 1
|
||||
|
||||
#modal
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
background: rgba(0, 0, 0, 0.6)
|
||||
z-index: 100
|
||||
overflow-y: auto
|
||||
|
||||
.modal-content
|
||||
width: 660px
|
||||
min-height: 160px
|
||||
margin: 42px auto
|
||||
border-radius: 4px
|
||||
background: darken(white, 13%)
|
||||
z-index: 110
|
||||
|
||||
.modal-close-btn
|
||||
display: block
|
||||
float: right
|
||||
margin: 12px
|
||||
font-size: 24px
|
||||
|
||||
h1
|
||||
font-size: 22px
|
||||
line-height: 1.2em
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue