@@ -45,18 +45,9 @@ This shows that using keyboardHideStart event is faster than not using it.
45
45
* @param {()=>string } onsSelectCb Callback to call when a hint is selected
46
46
* @param {string } placeholder Placeholder for input
47
47
* @param {function } onremove Callback to call when palette is removed
48
- * @param {function } onHighlight Callback to call when hint is highlighted
49
48
* @returns {void }
50
49
*/
51
- export default function palette (
52
- getList ,
53
- onsSelectCb ,
54
- placeholder ,
55
- onremove ,
56
- onHighlight ,
57
- ) {
58
- let isRemoving = false ;
59
-
50
+ export default function palette ( getList , onsSelectCb , placeholder , onremove ) {
60
51
/**@type {HTMLInputElement } */
61
52
const $input = (
62
53
< input
@@ -72,16 +63,16 @@ export default function palette(
72
63
const $palette = < div id = "palette" > { $input } </ div > ;
73
64
74
65
// Create a palette with input and hints
75
- inputhints ( $input , generateHints , onSelect , onHighlight ) ;
66
+ inputhints ( $input , generateHints , onSelect ) ;
76
67
77
68
// Removes the darkened color from status bar and navigation bar
78
69
restoreTheme ( true ) ;
79
70
80
71
// Remove palette when input is blurred
81
- $input . addEventListener ( "blur" , handleBlur ) ;
72
+ $input . addEventListener ( "blur" , remove ) ;
82
73
// Don't wait for input to blur when keyboard hides, remove is
83
74
// as soon as keyboard starts to hide
84
- keyboardHandler . on ( "keyboardHideStart" , handleKeyboardHide ) ;
75
+ keyboardHandler . on ( "keyboardHideStart" , remove ) ;
85
76
86
77
// Add to DOM
87
78
app . append ( $palette , $mask ) ;
@@ -100,25 +91,12 @@ export default function palette(
100
91
* @param {string } value
101
92
*/
102
93
function onSelect ( value ) {
103
- isRemoving = true ;
104
94
remove ( ) ;
105
95
setTimeout ( ( ) => {
106
96
onsSelectCb ( value ) ;
107
97
} , 0 ) ;
108
98
}
109
99
110
- function handleBlur ( ) {
111
- if ( ! isRemoving ) {
112
- remove ( ) ;
113
- }
114
- }
115
-
116
- function handleKeyboardHide ( ) {
117
- if ( ! isRemoving ) {
118
- remove ( ) ;
119
- }
120
- }
121
-
122
100
/**
123
101
* Keydown event handler for input
124
102
* @param {KeyboardEvent } e
@@ -143,12 +121,9 @@ export default function palette(
143
121
* Removes the palette
144
122
*/
145
123
function remove ( ) {
146
- if ( isRemoving ) return ;
147
- isRemoving = true ;
148
-
149
124
actionStack . remove ( "palette" ) ;
150
- keyboardHandler . off ( "keyboardHideStart" , handleKeyboardHide ) ;
151
- $input . removeEventListener ( "blur" , handleBlur ) ;
125
+ keyboardHandler . off ( "keyboardHideStart" , remove ) ;
126
+ $input . removeEventListener ( "blur" , remove ) ;
152
127
153
128
restoreTheme ( ) ;
154
129
$palette . remove ( ) ;
@@ -160,8 +135,12 @@ export default function palette(
160
135
}
161
136
162
137
const { activeFile, editor } = editorManager ;
163
- if ( activeFile ? .wasFocused ) {
138
+ if ( activeFile . wasFocused ) {
164
139
editor . focus ( ) ;
165
140
}
141
+
142
+ remove = ( ) => {
143
+ window . log ( "warn" , "Palette already removed." ) ;
144
+ } ;
166
145
}
167
146
}
0 commit comments