Added new javascript events for dropdown and modal

- dropdown.clicked
- dropdown.afterRender
- dropdown.beforeDestroy
- modal.open
- modal.afterRender
- modal.beforeDestroy
This commit is contained in:
ON-jz
2017-05-17 15:45:12 +02:00
committed by Frédéric Guillot
parent 3477cd8c5a
commit e8c83c97d7
3 changed files with 19 additions and 2 deletions

File diff suppressed because one or more lines are too long

View File

@@ -64,6 +64,8 @@
_KB.autoComplete(); _KB.autoComplete();
_KB.tagAutoComplete(); _KB.tagAutoComplete();
_KB.get('Task').onPopoverOpened(); _KB.get('Task').onPopoverOpened();
KB.trigger('modal.afterRender');
} }
function replace(html) { function replace(html) {
@@ -123,6 +125,8 @@
var overlayElement = KB.find('#modal-overlay'); var overlayElement = KB.find('#modal-overlay');
if (overlayElement) { if (overlayElement) {
KB.trigger('modal.beforeDestroy');
overlayElement.remove(); overlayElement.remove();
} }
} }
@@ -154,6 +158,8 @@
KB.modal = { KB.modal = {
open: function (url, size, overlayClickDestroy) { open: function (url, size, overlayClickDestroy) {
KB.trigger('modal.open');
_KB.get('Dropdown').close(); _KB.get('Dropdown').close();
destroy(); destroy();

View File

@@ -41,15 +41,26 @@ Kanboard.Dropdown.prototype.listen = function() {
else { else {
clone.css('left', offset.left); clone.css('left', offset.left);
} }
if (document.getElementById('dropdown') !== null) {
KB.trigger('dropdown.afterRender');
}
}); });
$(document).on('click', '.dropdown-submenu-open li', function(e) { $(document).on('click', '.dropdown-submenu-open li', function(e) {
if ($(e.target).is('li')) { if ($(e.target).is('li')) {
KB.trigger('dropdown.clicked');
$(this).find('a:visible')[0].click(); // Calling native click() not the jQuery one $(this).find('a:visible')[0].click(); // Calling native click() not the jQuery one
} }
}); });
}; };
Kanboard.Dropdown.prototype.close = function() { Kanboard.Dropdown.prototype.close = function() {
if (document.getElementById('dropdown') !== null) {
KB.trigger('dropdown.beforeDestroy');
}
$("#dropdown").remove(); $("#dropdown").remove();
}; };