From 1275301a91c72aa6a20d8aeea9e3cdb390fd5b51 Mon Sep 17 00:00:00 2001 From: Maicol Battistini Date: Fri, 8 Oct 2021 11:12:18 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Funzione=20di=20utility?= =?UTF-8?q?=20per=20gli=20Snackbar=20non=20funzionante?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/js/utils.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/resources/js/utils.js b/resources/js/utils.js index d0522c07a..2038331e1 100644 --- a/resources/js/utils.js +++ b/resources/js/utils.js @@ -19,9 +19,9 @@ export function containsHTML(string_: string): boolean { /** * Show a snackbar */ -export async function showSnackbar(message: string, duration: number, acceptText = 'OK', cancelText = 'Annulla'): Promise { +export async function showSnackbar(message: string, duration: number = 5000, acceptText = 'OK', cancelText: ?string): Promise { const snackbar = document.createElement('mwc-snackbar'); - snackbar.label = message; + snackbar.labelText = message; snackbar.timeoutMs = duration; if (acceptText) { const button = document.createElement('mwc-button'); @@ -36,15 +36,18 @@ export async function showSnackbar(message: string, duration: number, acceptText snackbar.append(button); } document.body.append(snackbar); - let resolve: (value?: boolean) => void; - const reasonPromise = new Promise()((response) => { - resolve = response; - }); + + // eslint-disable-next-line unicorn/consistent-function-scoping + const response = (value?: boolean) => value; + + // noinspection JSUnusedLocalSymbols + const reasonPromise = new Promise((resolve, reject) => {}); snackbar.addEventListener('MDCSnackbar:closed', (event) => { - resolve(event?.detail?.reason === 'action' ?? false); + response(event?.detail?.reason === 'action' ?? false); }); - snackbar.open(); - const acceptOrReject = await reasonPromise; - snackbar.remove(); - return acceptOrReject; + snackbar.show(); + snackbar.addEventListener('MDCSnackbar:closed', () => { + snackbar.remove(); + }); + return reasonPromise; }