From 928f486867abdf470ec1a7777ac68e434366dc47 Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Thu, 6 May 2021 19:26:50 +0200 Subject: [PATCH] Add ButtonToolbarItem as interface for modifying button groups --- ts/components/ButtonGroup.svelte | 5 +- ts/components/ButtonToolbar.svelte | 67 +++++++++++++++++++++++++- ts/components/ButtonToolbarItem.svelte | 44 +++++++++++++++++ ts/components/buttons.ts | 4 ++ ts/components/contextKeys.ts | 1 + ts/editor/ColorButtons.svelte | 2 +- ts/editor/EditorToolbar.svelte | 28 ++++++++--- ts/editor/FormatBlockButtons.svelte | 2 +- ts/editor/FormatInlineButtons.svelte | 2 +- ts/editor/NoteTypeButtons.svelte | 2 +- ts/editor/TemplateButtons.svelte | 2 +- 11 files changed, 145 insertions(+), 14 deletions(-) create mode 100644 ts/components/ButtonToolbarItem.svelte diff --git a/ts/components/ButtonGroup.svelte b/ts/components/ButtonGroup.svelte index 8f10d89e5..472be9f42 100644 --- a/ts/components/ButtonGroup.svelte +++ b/ts/components/ButtonGroup.svelte @@ -63,7 +63,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html const hideButton = (id: Identifier) => updateRegistration(({ detach }) => detach.set(true), id); const toggleButton = (id: Identifier) => - updateRegistration(({ detach }) => detach.update((old) => !old), id); + updateRegistration( + ({ detach }) => detach.update((old: boolean): boolean => !old), + id + ); Object.assign(api, { insertButton, diff --git a/ts/components/ButtonToolbar.svelte b/ts/components/ButtonToolbar.svelte index 82104ee05..3342c90a9 100644 --- a/ts/components/ButtonToolbar.svelte +++ b/ts/components/ButtonToolbar.svelte @@ -3,13 +3,76 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> -