File tree Expand file tree Collapse file tree 2 files changed +43
-1
lines changed
Expand file tree Collapse file tree 2 files changed +43
-1
lines changed Original file line number Diff line number Diff line change 1818 <v-combobox
1919 ref =" input"
2020 v-model =" selectedAlbums"
21+ v-model:menu =" albumsMenu"
2122 :disabled =" loading"
2223 :loading =" loading"
2324 hide-details
2829 :items =" items"
2930 item-title =" Title"
3031 item-value =" UID"
31- :placeholder =" $gettext('Select or create albums')"
3232 return-object
33+ :placeholder =" $gettext('Select or create albums')"
34+ @update:menu =" onAlbumsMenuUpdate"
35+ @keydown.enter.stop =" onAlbumsEnter"
3336 >
3437 <template #no-data >
3538 <v-list-item >
@@ -91,6 +94,8 @@ export default {
9194 albums: [],
9295 items: [],
9396 selectedAlbums: [],
97+ albumsMenu: false ,
98+ suppressAlbumsMenuOpen: false ,
9499 labels: {
95100 addToAlbum: this .$gettext (" Add to album" ),
96101 createAlbum: this .$gettext (" Create album" ),
@@ -213,11 +218,27 @@ export default {
213218 }
214219 });
215220 },
221+ onAlbumsEnter () {
222+ this .suppressAlbumsMenuOpen = true ;
223+ this .albumsMenu = false ;
224+ window .setTimeout (() => {
225+ this .suppressAlbumsMenuOpen = false ;
226+ }, 250 );
227+ },
228+ onAlbumsMenuUpdate (val ) {
229+ if (val && this .suppressAlbumsMenuOpen ) {
230+ this .albumsMenu = false ;
231+ return ;
232+ }
233+ this .albumsMenu = val;
234+ },
216235 reset () {
217236 this .loading = false ;
218237 this .selectedAlbums = [];
219238 this .albums = [];
220239 this .items = [];
240+ this .albumsMenu = false ;
241+ this .suppressAlbumsMenuOpen = false ;
221242 },
222243 removeSelection (index ) {
223244 this .selectedAlbums .splice (index, 1 );
Original file line number Diff line number Diff line change 5151 <div class =" form-controls" >
5252 <v-combobox
5353 v-model =" selectedAlbums"
54+ v-model:menu =" albumsMenu"
55+ @update:menu =" onAlbumsMenuUpdate"
5456 :disabled =" busy || loading || total > 0 || filesQuotaReached"
5557 hide-details
5658 chips
6264 item-value =" UID"
6365 :placeholder =" $gettext('Select or create albums')"
6466 return-object
67+ @keydown.enter.stop =" onAlbumsEnter"
6568 >
6669 <template #no-data >
6770 <v-list-item >
@@ -156,6 +159,8 @@ export default {
156159 accept: this .$config .get (" uploadAllow" ),
157160 albums: [],
158161 selectedAlbums: [],
162+ albumsMenu: false ,
163+ suppressAlbumsMenuOpen: false ,
159164 selected: [],
160165 uploads: [],
161166 busy: false ,
@@ -239,6 +244,20 @@ export default {
239244 onLoaded () {
240245 this .loading = false ;
241246 },
247+ onAlbumsEnter () {
248+ this .suppressAlbumsMenuOpen = true ;
249+ this .albumsMenu = false ;
250+ window .setTimeout (() => {
251+ this .suppressAlbumsMenuOpen = false ;
252+ }, 250 );
253+ },
254+ onAlbumsMenuUpdate (val ) {
255+ if (val && this .suppressAlbumsMenuOpen ) {
256+ this .albumsMenu = false ;
257+ return ;
258+ }
259+ this .albumsMenu = val;
260+ },
242261 load (q ) {
243262 if (this .loading ) {
244263 return ;
@@ -296,6 +315,8 @@ export default {
296315 this .remainingTime = - 1 ;
297316 this .eta = " " ;
298317 this .token = " " ;
318+ this .albumsMenu = false ;
319+ this .suppressAlbumsMenuOpen = false ;
299320 },
300321 onUploadDialog () {
301322 this .$refs .upload .click ();
You can’t perform that action at this time.
0 commit comments