Hi,
(still using v5, I think the v6 shares similar syntax)
the thing I want is simple - ask user to confirm before opening the smartSelect.
mySmartSelect.on( "beforeOpen", (smartSelect, prevent)=>{
if( !confirm("something") ){
prevent();
}
} );
Since .open() itself emits “beforeOpen” event, will cause a loop if F7.dialog is used:
// NOT WORKING
mySmartSelect.on( "beforeOpen", (smartSelect, prevent)=>{
prevent();
app.dialog.confirm( "something", () => {
smartSelect.open();
} );
} );
// NOT WORKING - can't simply do this, the smartSelect just opens
mySmartSelect.on( "beforeOpen", (smartSelect, prevent)=>{
app.dialog.confirm( "something", () => {
}, ()={
prevent();
} );
} );
This is the workaround. Do you know a more elegant way to do this?
mySmartSelect.on( "beforeOpen", (smartSelect, prevent)=>{
if( !smartSelect.userHasConfirmed ){
prevent();
app.dialog.confirm( "something", () => {
smartSelect.userHasConfirmed= true;
smartSelect.open();
} );
}else{
delete smartSelect.userHasConfirmed;
}
} );