mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 15:30:13 +01:00
Improve popup animation
When going back wait for the popup transition to end before removing the DOM element.
This commit is contained in:
parent
d81cad4251
commit
6ef9c7e95f
3 changed files with 27 additions and 3 deletions
|
|
@ -1,3 +1,12 @@
|
|||
// XXX This event list should be abstracted somewhere else.
|
||||
var endTransitionEvents = [
|
||||
'webkitTransitionEnd',
|
||||
'otransitionend',
|
||||
'oTransitionEnd',
|
||||
'msTransitionEnd',
|
||||
'transitionend'
|
||||
].join(' ');
|
||||
|
||||
Popup.template.events({
|
||||
click: function(evt) {
|
||||
if (evt.originalEvent) {
|
||||
|
|
@ -14,3 +23,18 @@ Popup.template.events({
|
|||
this.__afterConfirmAction.call(this);
|
||||
}
|
||||
});
|
||||
|
||||
// When a popup content is removed (ie, when the user press the "back" button),
|
||||
// we need to wait for the container translation to end before removing the
|
||||
// actual DOM element. For that purpose we use the undocumented `_uihooks` API.
|
||||
Popup.template.onRendered(function() {
|
||||
var container = this.find('.content-container');
|
||||
container._uihooks = {
|
||||
removeElement: function(node) {
|
||||
$(node).addClass('no-height');
|
||||
$(container).one(endTransitionEvents, function() {
|
||||
node.parentNode.removeChild(node);
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue