From 3184831ebb588b4763746b5cd5ed4e37c147d4b0 Mon Sep 17 00:00:00 2001 From: Jesse McDonald Date: Tue, 28 Apr 2020 01:00:42 -0500 Subject: [PATCH] show notice for long-running update requests --- js/pacosako_ui.js | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/js/pacosako_ui.js b/js/pacosako_ui.js index 3f00703..219bd4b 100644 --- a/js/pacosako_ui.js +++ b/js/pacosako_ui.js @@ -462,11 +462,25 @@ $(function (){ Object.assign(meta, extra); } - meta.modified = $('#cb_board').data('modified'); - IO.sendUpdate(gameId, meta).catch((err) => { - new jBox('Notice', { - content: 'Failed to send update to server.', - }); + const noticeBox = new jBox('Notice', { + content: 'Saving...', + autoClose: false, + delayOpen: 200, + delayClose: 2000, + onCloseComplete() { this.destroy(); }, + }); + + const modified = meta.modified = $('#cb_board').data('modified'); + IO.sendUpdate(gameId, meta).then((response) => { + noticeBox.close({ ignoreDelay: true }); + if (response && response.data && Number.isInteger(response.data.modified)) { + if (response.data.modified > modified) { + $('#cb_board').data('modified', response.data.modified); + } + } + }).catch((err) => { + noticeBox.setContent('Failed to send update to server.'); + noticeBox.close(); debug('update error', err); /* force a reset back to the latest server data */