@@ -51,39 +51,25 @@ export class Popup {
51
51
52
52
/**
53
53
* Nota (for prompts):
54
- * - the input only handles characters, "Space" and "Backspace" yet. So the user can't use controls to copy/paste
55
- * strings, etc...
56
54
* - if the input value length doesn't belong to the defined interval ([minLength; maxLength]), the button will be
57
55
* disabled (by default, the interval is [0;255]).
58
56
*/
59
57
async getResponse ( ) : Promise < any > {
60
58
this . popupElement . style . display = "flex"
61
59
62
- if ( this . data . type === "show" ) {
63
- return new Promise ( ( resolve , reject ) => {
60
+ return new Promise ( ( resolve , reject ) => {
61
+ if ( this . data . type === "show" ) {
64
62
document . querySelector ( '#cazan-popup-confirm' ) ?. addEventListener (
65
63
'click' ,
66
64
( ) => {
67
65
resolve ( true )
68
66
}
69
67
)
70
- } )
71
- } else if ( this . data . type === "prompt" ) {
72
- return new Promise ( ( resolve , reject ) => {
68
+ } else if ( this . data . type === "prompt" ) {
73
69
let inputElement : HTMLInputElement = document . querySelector ( "#cazan-popup-input" ) !
74
70
let confirmBtnElement : HTMLButtonElement = document . querySelector ( "#cazan-popup-confirm" ) !
75
71
76
72
inputElement . addEventListener ( 'keydown' , ( event : KeyboardEvent ) => {
77
- event . preventDefault ( )
78
-
79
- if ( event . key === "Backspace" ) {
80
- inputElement . value = inputElement . value . slice ( 0 , - 1 )
81
- } else if ( event . key === "Space" ) {
82
- inputElement . value += " "
83
- } else if ( event . key . length === 1 ) {
84
- inputElement . value += event . key
85
- }
86
-
87
73
if (
88
74
inputElement . value . length >= this . data . minLength !
89
75
&& inputElement . value . length <= this . data . maxLength !
@@ -108,9 +94,7 @@ export class Popup {
108
94
}
109
95
}
110
96
)
111
- } )
112
- } else if ( this . data . type === "confirm" ) {
113
- return new Promise ( ( resolve , reject ) => {
97
+ } else if ( this . data . type === "confirm" ) {
114
98
document . querySelector ( "#cazan-popup-yes" ) ?. addEventListener (
115
99
"click" ,
116
100
( ) => {
@@ -123,10 +107,8 @@ export class Popup {
123
107
resolve ( false )
124
108
}
125
109
)
126
- } )
127
- }
128
-
129
- return new Promise ( ( resolve , reject ) => reject ( "Type undefined" ) )
110
+ }
111
+ } )
130
112
}
131
113
132
114
removePopup ( ) {
0 commit comments