- Bugfix on UI-POPUP made
This commit is contained in:
parent
45095b221d
commit
0bb08584e2
@ -21,8 +21,6 @@ class UiPopup extends Webcomponent {
|
||||
}
|
||||
|
||||
this.replaceVarsPlaceholder().attach().render();
|
||||
|
||||
this.init();
|
||||
this.handleOptions();
|
||||
}
|
||||
|
||||
@ -31,68 +29,32 @@ class UiPopup extends Webcomponent {
|
||||
if ( ! this.options['skip-keys'] ) {
|
||||
document.addEventListener('keyup', function(e) {
|
||||
if ( this.visible() ) {
|
||||
|
||||
let trigger, ev;
|
||||
|
||||
e.preventDefault();
|
||||
console.log(this.visible());
|
||||
|
||||
// There's no real value in checking if the popup is shown or not.
|
||||
switch ( e.keyCode ) {
|
||||
// RETURN
|
||||
case 13:
|
||||
trigger = this.querySelector('[action="confirm"]');
|
||||
ev = new CustomEvent('click', { trigger: trigger } );
|
||||
|
||||
trigger.dispatchEvent(ev);
|
||||
break;
|
||||
|
||||
// ESC
|
||||
case 27:
|
||||
trigger = this.querySelector('[action="close"]');
|
||||
ev = new CustomEvent('click', { trigger: trigger } );
|
||||
|
||||
trigger.dispatchEvent(ev);
|
||||
break;
|
||||
}
|
||||
|
||||
if (trigger) {
|
||||
ev = new CustomEvent('click', {trigger: trigger});
|
||||
trigger.dispatchEvent(ev);
|
||||
}
|
||||
}
|
||||
}.bind(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
init() {
|
||||
document.addEventListener('keyup', function(e) {
|
||||
if ( this.visible() ) {
|
||||
let trigger, ev, action;
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
// There's no real value in checking if the popup is shown or not.
|
||||
switch ( e.keyCode ) {
|
||||
case 13: // RETURN
|
||||
action = "confirm";
|
||||
break;
|
||||
|
||||
case 27: // ESC
|
||||
action = "close";
|
||||
break
|
||||
}
|
||||
|
||||
if (action) {
|
||||
trigger = this.querySelector(`[action="${action}"]`);
|
||||
|
||||
if ( trigger ) {
|
||||
ev = new CustomEvent('click', {trigger: trigger});
|
||||
|
||||
trigger.dispatchEvent(ev);
|
||||
}
|
||||
else {
|
||||
this.hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
}.bind(this));
|
||||
}
|
||||
|
||||
attach() {
|
||||
let triggers = document.querySelectorAll('[ui-popup]');
|
||||
|
||||
|
||||
@ -52,6 +52,21 @@ class Webcomponent extends HTMLElement {
|
||||
return this;
|
||||
}
|
||||
|
||||
off(type, listener, options) {
|
||||
this.removeEventListener(type, listener, options);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
emit(name, detail, bubbles, cancelable, composed) {
|
||||
this.dispatchEvent(new CustomEvent(name, {
|
||||
detail: detail ? detail : null,
|
||||
bubbles: !! bubbles,
|
||||
cancelable: !! cancelable,
|
||||
composed: !! composed,
|
||||
}));
|
||||
}
|
||||
|
||||
get config() {
|
||||
return this.#config;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user