Card Details Popup possible on desktop view

- until now a new form in the popup closed the popup itself
This commit is contained in:
Martin Filser 2021-10-19 21:27:47 +02:00
parent 48b2e3dd88
commit 8c3ce4bb73
4 changed files with 29 additions and 24 deletions

View file

@ -25,7 +25,7 @@ template(name="checklists")
+inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId)
+addChecklistItemForm
else
a.js-open-inlined-form(title="{{_ 'add-checklist'}}")
a.add-checklist.js-open-inlined-form(title="{{_ 'add-checklist'}}")
i.fa.fa-plus
template(name="checklistDetail")

View file

@ -94,16 +94,14 @@ BlazeComponent.extendComponent({
title,
sort: card.checklists().count(),
});
this.closeAllInlinedForms();
setTimeout(() => {
this.$('.add-checklist-item')
.last()
.click();
}, 100);
}
textarea.value = '';
textarea.focus();
},
addChecklistItem(event) {
event.preventDefault();
const textarea = this.find('textarea.js-add-checklist-item');
@ -190,6 +188,10 @@ BlazeComponent.extendComponent({
}
},
closeAllInlinedForms() {
this.$('.js-close-inlined-form').click();
},
events() {
const events = {
'click .toggle-delete-checklist-dialog'(event) {
@ -214,6 +216,8 @@ BlazeComponent.extendComponent({
'click .js-delete-checklist-item': this.deleteItem,
'click .confirm-checklist-delete': this.deleteChecklist,
'focus .js-add-checklist-item': this.focusChecklistItem,
'click .add-checklist-item.js-open-inlined-form': this.closeAllInlinedForms,
'click .add-checklist.js-open-inlined-form': this.closeAllInlinedForms,
keydown: this.pressKey,
},
];

View file

@ -29,10 +29,15 @@ InlinedForm = BlazeComponent.extendComponent({
},
open(evt) {
evt && evt.preventDefault();
if (evt) {
evt.preventDefault();
// Close currently opened form, if any
EscapeActions.clickExecute(evt.target, 'inlinedForm');
} else {
// Close currently opened form, if any
EscapeActions.executeUpTo('inlinedForm');
}
// Close currently opened form, if any
EscapeActions.executeUpTo('inlinedForm');
this.isOpen.set(true);
currentlyOpenedForm.set(this);
},

View file

@ -192,21 +192,17 @@ window.Popup = new (class {
}
})();
Meteor.startup(() => {
if (!Utils.isMiniScreen()) {
// We close a potential opened popup on any left click on the document, or go
// one step back by pressing escape.
const escapeActions = ['back', 'close'];
escapeActions.forEach(actionName => {
EscapeActions.register(
`popup-${actionName}`,
() => Popup[actionName](),
() => Popup.isOpen(),
{
noClickEscapeOn: '.js-pop-over,.js-open-card-title-popup',
enabledOnClick: actionName === 'close',
},
);
});
}
// We close a potential opened popup on any left click on the document, or go
// one step back by pressing escape.
const escapeActions = ['back', 'close'];
escapeActions.forEach(actionName => {
EscapeActions.register(
`popup-${actionName}`,
() => Popup[actionName](),
() => Popup.isOpen(),
{
noClickEscapeOn: '.js-pop-over,.js-open-card-title-popup,.js-open-inlined-form',
enabledOnClick: actionName === 'close',
},
);
});