Do not close modals when clicking on the background

Fixes #5288
This commit is contained in:
Frédéric Guillot 2023-10-15 13:49:03 -07:00 committed by Frédéric Guillot
parent 0adc73d583
commit b212dd1c7d
4 changed files with 12 additions and 12 deletions

View File

@ -138,8 +138,8 @@ function getUrl(image,type){var regex=new RegExp(options.regex,'g');return optio
function buildThumbnailElement(image){return KB.dom('img').attr('src',getUrl(image,'thumbnail')).attr('alt',image.name).attr('title',image.name).data('imageId',image.id).click(onClick).build()}
this.render=function(){currentImage=options.image;containerElement.appendChild(buildThumbnailElement(currentImage))}});KB.keyboardShortcuts=function(){function goToLink(selector){if(!KB.modal.isOpen()){var element=KB.find(selector);if(element!==null){window.location=element.attr('href')}}}
function submitForm(){if(KB.modal.isOpen()){KB.modal.submitForm()}else{var forms=$("form");if(forms.length==1){forms.submit()}else if(forms.length>1){if(document.activeElement.tagName==='INPUT'||document.activeElement.tagName==='TEXTAREA'){$(document.activeElement).parents("form").submit()}}}}
KB.onKey('?',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('body').data('keyboardShortcutUrl'),'',!0)}});KB.onKey('Escape',function(){if(!KB.exists('#suggest-menu')){KB.trigger('modal.close');_KB.get("Dropdown").close()}},!0);KB.onKey('Enter',submitForm,!0,!0);KB.onKey('Enter',submitForm,!0,!1,!0);KB.onKey('b',function(){if(!KB.modal.isOpen()){KB.trigger('board.selector.open')}});if(KB.exists('#board')){KB.onKey('c',function(){if(!KB.modal.isOpen()){_KB.get('BoardHorizontalScrolling').toggle()}});KB.onKey('s',function(){if(!KB.modal.isOpen()){_KB.get('BoardCollapsedMode').toggle()}});KB.onKey('n',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#board').data('taskCreationUrl'),'large',!0)}})}
if(KB.exists('#task-view')){KB.onKey('e',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('editUrl'),'large',!0)}});KB.onKey('c',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('commentUrl'),'medium',!0)}});KB.onKey('s',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('subtaskUrl'),'medium',!0)}});KB.onKey('l',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('internalLinkUrl'),'medium',!0)}})}
KB.onKey('?',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('body').data('keyboardShortcutUrl'),'',!0)}});KB.onKey('Escape',function(){if(!KB.exists('#suggest-menu')){KB.trigger('modal.close');_KB.get("Dropdown").close()}},!0);KB.onKey('Enter',submitForm,!0,!0);KB.onKey('Enter',submitForm,!0,!1,!0);KB.onKey('b',function(){if(!KB.modal.isOpen()){KB.trigger('board.selector.open')}});if(KB.exists('#board')){KB.onKey('c',function(){if(!KB.modal.isOpen()){_KB.get('BoardHorizontalScrolling').toggle()}});KB.onKey('s',function(){if(!KB.modal.isOpen()){_KB.get('BoardCollapsedMode').toggle()}});KB.onKey('n',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#board').data('taskCreationUrl'),'large',!1)}})}
if(KB.exists('#task-view')){KB.onKey('e',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('editUrl'),'large',!1)}});KB.onKey('c',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('commentUrl'),'medium',!1)}});KB.onKey('s',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('subtaskUrl'),'medium',!1)}});KB.onKey('l',function(){if(!KB.modal.isOpen()){KB.modal.open(KB.find('#task-view').data('internalLinkUrl'),'medium',!1)}})}
KB.onKey('f',function(){if(!KB.modal.isOpen()){KB.focus('#form-search')}});KB.onKey('r',function(){if(!KB.modal.isOpen()){var reset=$(".filter-reset").data("filter");var input=$("#form-search");input.val(reset);$("form.search").submit()}});KB.onKey('v+o',function(){goToLink('a.view-overview')});KB.onKey('v+b',function(){goToLink('a.view-board')});KB.onKey('v+l',function(){goToLink('a.view-listing')})};document.addEventListener("DOMContentLoaded",function(){function selectAllItems(event){event.preventDefault();var items=document.querySelectorAll("input[data-list-item=selectable]");for(var i=0;i<items.length;i++){items[i].checked=!0}
showActionMenu()}
function unselectAllItems(event){event.preventDefault();var items=document.querySelectorAll("input[data-list-item=selectable]");for(var i=0;i<items.length;i++){items[i].checked=!1}
@ -154,7 +154,7 @@ var unselectLink=document.querySelector("a[data-list-item-selection=none]");if(u
var items=document.querySelectorAll("input[data-list-item=selectable]");for(var i=0;i<items.length;i++){items[i].addEventListener("change",onItemChange)}
KB.on('dropdown.afterRender',function(){var actionLinks=document.querySelectorAll("a[data-list-item-action=modal]");for(var i=0;i<actionLinks.length;i++){actionLinks[i].addEventListener("click",onActionClick,!1)}})});(function(){function getLink(e){if(e.target.tagName==='I'){return e.target.parentNode.getAttribute('href')}
return e.target.getAttribute('href')}
KB.onClick('.js-modal-large',function(e){KB.modal.open(getLink(e),'large',!0)});KB.onClick('.js-modal-medium',function(e){if(KB.modal.isOpen()){KB.modal.replace(getLink(e))}else{KB.modal.open(getLink(e),'medium',!0)}});KB.onClick('.js-modal-small',function(e){KB.modal.open(getLink(e),'small',!0)});KB.onClick('.js-modal-confirm',function(e){KB.modal.open(getLink(e),'small',!0)});KB.onClick('.js-modal-close',function(){KB.modal.close()});KB.onClick('.js-modal-replace',function(e){var link=getLink(e);if(KB.modal.isOpen()){KB.modal.replace(link)}else{window.location.href=link}})}());KB.onChange('.js-project-creation-select-options',function(element){var projectId=element.value;if(projectId==='0'){KB.find('.js-project-creation-options').hide()}else{KB.find('.js-project-creation-options').show()}});KB.component('project-select-role',function(containerElement,options){var isLoading=!1;var isSuccess=!1;var isError=!1;var componentElement;function onChange(element){isLoading=!0;options.role=element.value;replaceComponentElement();updateRole()}
KB.onClick('.js-modal-large',function(e){KB.modal.open(getLink(e),'large',!1)});KB.onClick('.js-modal-medium',function(e){if(KB.modal.isOpen()){KB.modal.replace(getLink(e))}else{KB.modal.open(getLink(e),'medium',!1)}});KB.onClick('.js-modal-small',function(e){KB.modal.open(getLink(e),'small',!1)});KB.onClick('.js-modal-confirm',function(e){KB.modal.open(getLink(e),'small',!0)});KB.onClick('.js-modal-close',function(){KB.modal.close()});KB.onClick('.js-modal-replace',function(e){var link=getLink(e);if(KB.modal.isOpen()){KB.modal.replace(link)}else{window.location.href=link}})}());KB.onChange('.js-project-creation-select-options',function(element){var projectId=element.value;if(projectId==='0'){KB.find('.js-project-creation-options').hide()}else{KB.find('.js-project-creation-options').show()}});KB.component('project-select-role',function(containerElement,options){var isLoading=!1;var isSuccess=!1;var isError=!1;var componentElement;function onChange(element){isLoading=!0;options.role=element.value;replaceComponentElement();updateRole()}
function updateRole(){KB.http.postJson(options.url,{id:options.id,role:options.role}).success(function(){isLoading=!1;isSuccess=!0;replaceComponentElement()}).error(function(){isLoading=!1;isSuccess=!1;isError=!0;replaceComponentElement()})}
function replaceComponentElement(){KB.dom(componentElement).remove();componentElement=buildComponentElement();containerElement.appendChild(componentElement)}
function getAriaLabelValue(){if(options.ariaLabel){return options.ariaLabel}

View File

@ -62,7 +62,7 @@ KB.keyboardShortcuts = function () {
KB.onKey('n', function () {
if (! KB.modal.isOpen()) {
KB.modal.open(KB.find('#board').data('taskCreationUrl'), 'large', true);
KB.modal.open(KB.find('#board').data('taskCreationUrl'), 'large', false);
}
});
}
@ -70,25 +70,25 @@ KB.keyboardShortcuts = function () {
if (KB.exists('#task-view')) {
KB.onKey('e', function () {
if (! KB.modal.isOpen()) {
KB.modal.open(KB.find('#task-view').data('editUrl'), 'large', true);
KB.modal.open(KB.find('#task-view').data('editUrl'), 'large', false);
}
});
KB.onKey('c', function () {
if (! KB.modal.isOpen()) {
KB.modal.open(KB.find('#task-view').data('commentUrl'), 'medium', true);
KB.modal.open(KB.find('#task-view').data('commentUrl'), 'medium', false);
}
});
KB.onKey('s', function () {
if (! KB.modal.isOpen()) {
KB.modal.open(KB.find('#task-view').data('subtaskUrl'), 'medium', true);
KB.modal.open(KB.find('#task-view').data('subtaskUrl'), 'medium', false);
}
});
KB.onKey('l', function () {
if (! KB.modal.isOpen()) {
KB.modal.open(KB.find('#task-view').data('internalLinkUrl'), 'medium', true);
KB.modal.open(KB.find('#task-view').data('internalLinkUrl'), 'medium', false);
}
});
}

View File

@ -8,19 +8,19 @@
}
KB.onClick('.js-modal-large', function (e) {
KB.modal.open(getLink(e), 'large', true);
KB.modal.open(getLink(e), 'large', false);
});
KB.onClick('.js-modal-medium', function (e) {
if (KB.modal.isOpen()) {
KB.modal.replace(getLink(e));
} else {
KB.modal.open(getLink(e), 'medium', true);
KB.modal.open(getLink(e), 'medium', false);
}
});
KB.onClick('.js-modal-small', function (e) {
KB.modal.open(getLink(e), 'small', true);
KB.modal.open(getLink(e), 'small', false);
});
KB.onClick('.js-modal-confirm', function (e) {

View File

@ -124,7 +124,7 @@ class JS extends Minify
*/
public function __construct()
{
call_user_func_array(array('parent', '__construct'), func_get_args());
call_user_func_array(array(parent::class, '__construct'), func_get_args());
$dataDir = __DIR__.'/../data/js/';
$options = FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES;