mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-06-05 22:09:38 +02:00
fix: 🐛 Funzione di utility per gli Snackbar non funzionante
This commit is contained in:
25
resources/js/utils.js
vendored
25
resources/js/utils.js
vendored
@@ -19,9 +19,9 @@ export function containsHTML(string_: string): boolean {
|
|||||||
/**
|
/**
|
||||||
* Show a snackbar
|
* Show a snackbar
|
||||||
*/
|
*/
|
||||||
export async function showSnackbar(message: string, duration: number, acceptText = 'OK', cancelText = 'Annulla'): Promise<boolean> {
|
export async function showSnackbar(message: string, duration: number = 5000, acceptText = 'OK', cancelText: ?string): Promise<boolean> {
|
||||||
const snackbar = document.createElement('mwc-snackbar');
|
const snackbar = document.createElement('mwc-snackbar');
|
||||||
snackbar.label = message;
|
snackbar.labelText = message;
|
||||||
snackbar.timeoutMs = duration;
|
snackbar.timeoutMs = duration;
|
||||||
if (acceptText) {
|
if (acceptText) {
|
||||||
const button = document.createElement('mwc-button');
|
const button = document.createElement('mwc-button');
|
||||||
@@ -36,15 +36,18 @@ export async function showSnackbar(message: string, duration: number, acceptText
|
|||||||
snackbar.append(button);
|
snackbar.append(button);
|
||||||
}
|
}
|
||||||
document.body.append(snackbar);
|
document.body.append(snackbar);
|
||||||
let resolve: (value?: boolean) => void;
|
|
||||||
const reasonPromise = new Promise()((response) => {
|
// eslint-disable-next-line unicorn/consistent-function-scoping
|
||||||
resolve = response;
|
const response = (value?: boolean) => value;
|
||||||
});
|
|
||||||
|
// noinspection JSUnusedLocalSymbols
|
||||||
|
const reasonPromise = new Promise((resolve, reject) => {});
|
||||||
snackbar.addEventListener('MDCSnackbar:closed', (event) => {
|
snackbar.addEventListener('MDCSnackbar:closed', (event) => {
|
||||||
resolve(event?.detail?.reason === 'action' ?? false);
|
response(event?.detail?.reason === 'action' ?? false);
|
||||||
});
|
});
|
||||||
snackbar.open();
|
snackbar.show();
|
||||||
const acceptOrReject = await reasonPromise;
|
snackbar.addEventListener('MDCSnackbar:closed', () => {
|
||||||
snackbar.remove();
|
snackbar.remove();
|
||||||
return acceptOrReject;
|
});
|
||||||
|
return reasonPromise;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user