- 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.replaceVarsPlaceholder().attach().render();
|
||||||
|
|
||||||
this.init();
|
|
||||||
this.handleOptions();
|
this.handleOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,68 +29,32 @@ class UiPopup extends Webcomponent {
|
|||||||
if ( ! this.options['skip-keys'] ) {
|
if ( ! this.options['skip-keys'] ) {
|
||||||
document.addEventListener('keyup', function(e) {
|
document.addEventListener('keyup', function(e) {
|
||||||
if ( this.visible() ) {
|
if ( this.visible() ) {
|
||||||
|
|
||||||
let trigger, ev;
|
let trigger, ev;
|
||||||
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
console.log(this.visible());
|
||||||
|
|
||||||
// There's no real value in checking if the popup is shown or not.
|
|
||||||
switch ( e.keyCode ) {
|
switch ( e.keyCode ) {
|
||||||
// RETURN
|
|
||||||
case 13:
|
case 13:
|
||||||
trigger = this.querySelector('[action="confirm"]');
|
trigger = this.querySelector('[action="confirm"]');
|
||||||
ev = new CustomEvent('click', { trigger: trigger } );
|
|
||||||
|
|
||||||
trigger.dispatchEvent(ev);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// ESC
|
|
||||||
case 27:
|
case 27:
|
||||||
trigger = this.querySelector('[action="close"]');
|
trigger = this.querySelector('[action="close"]');
|
||||||
ev = new CustomEvent('click', { trigger: trigger } );
|
|
||||||
|
|
||||||
trigger.dispatchEvent(ev);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (trigger) {
|
||||||
|
ev = new CustomEvent('click', {trigger: trigger});
|
||||||
|
trigger.dispatchEvent(ev);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}.bind(this));
|
}.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() {
|
attach() {
|
||||||
let triggers = document.querySelectorAll('[ui-popup]');
|
let triggers = document.querySelectorAll('[ui-popup]');
|
||||||
|
|
||||||
|
|||||||
@ -52,6 +52,21 @@ class Webcomponent extends HTMLElement {
|
|||||||
return this;
|
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() {
|
get config() {
|
||||||
return this.#config;
|
return this.#config;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user