From f857a3f75efea7c4259a37bbbf6a0d328af7f8e5 Mon Sep 17 00:00:00 2001 From: florian <f.spreckelsen@inidscale.com> Date: Tue, 19 Oct 2021 11:03:57 +0200 Subject: [PATCH] ENH: Add waiting notification when adding bookmarks --- src/core/js/ext_bookmarks.js | 5 +++++ src/core/js/webcaosdb.js | 25 +++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/core/js/ext_bookmarks.js b/src/core/js/ext_bookmarks.js index a5cc0496..4685d44d 100644 --- a/src/core/js/ext_bookmarks.js +++ b/src/core/js/ext_bookmarks.js @@ -590,12 +590,17 @@ var ext_bookmarks = function ($, logger, config) { const add_query_results_to_bookmarks = async function () { const query_string = get_query_from_response(); + const waiting_id = "caosdb-add-to-bookamrks-waiting-notification"; + const waiting_notification = createWaitingNotification( + "Adding results to bookmarks. Please wait and do not reload the page.", id = waiting_id); + $("#caosdb-add-query-to-bookmarks-row").append(waiting_notification); const resp = await query(query_string); for (const eid of resp) { bookmark_storage.setItem(get_key(getEntityID(eid)), getEntityID(eid)); } // re-init for correct display of counter and entities on page init(); + $("#" + waiting_id).remove(); } /** diff --git a/src/core/js/webcaosdb.js b/src/core/js/webcaosdb.js index dbb4e269..87a63ed5 100644 --- a/src/core/js/webcaosdb.js +++ b/src/core/js/webcaosdb.js @@ -164,19 +164,19 @@ this.navbar = new function () { // show form and hide the show_button const _in = () => { - // xs means viewport <= 768px - form.removeClass("d-none"); - form.addClass("d-xs-inline-block"); - show_button.removeClass("d-inline-block"); - show_button.addClass("d-none"); + // xs means viewport <= 768px + form.removeClass("d-none"); + form.addClass("d-xs-inline-block"); + show_button.removeClass("d-inline-block"); + show_button.addClass("d-none"); } // hide form and show the show_button const _out = () => { - // xs means viewport <= 768px - form.removeClass("d-xs-inline-block"); - form.addClass("d-none"); - show_button.removeClass("d-none"); - show_button.addClass("d-inline-block"); + // xs means viewport <= 768px + form.removeClass("d-xs-inline-block"); + form.addClass("d-none"); + show_button.removeClass("d-none"); + show_button.addClass("d-inline-block"); } show_button.on("click", () => { // show form... @@ -1507,10 +1507,11 @@ function createErrorNotification(msg) { * Create a waiting notification with a informative message for the waiting user. * * @param {String} info, a message for the user + * @param {String} id, optional, the id of the message div. Default is empty * @return {HTMLElement} A div with class `caosdb-preview-waiting-notification`. */ -function createWaitingNotification(info) { - return $('<div class="' + globalClassNames.WaitingNotification + '">' + info + '</div>')[0]; +function createWaitingNotification(info, id = "") { + return $('<div class="' + globalClassNames.WaitingNotification + '" id="' + id + '">' + info + '</div>')[0]; } /** -- GitLab