From f0423ca1a597f997d27f976b6d991500359c9597 Mon Sep 17 00:00:00 2001 From: adinlead Date: Fri, 9 Aug 2024 13:08:58 +0800 Subject: [PATCH] 1. Added undo button after draw button in toolbar 2. Enlarged the delete button icon 3. Added open-source redo and undo icons (from Bootstrap) --- src/code/addButtons.ts | 2 ++ src/code/buttons/undoButton.d.ts | 4 ++++ src/code/buttons/undoButton.js | 30 +++++++++++++++++++++++++ src/code/css/toolbar.css | 8 +++++++ src/code/images/toolbar_quickdelete.svg | 2 +- src/code/images/toolbar_redo.svg | 4 ++++ src/code/images/toolbar_undo.svg | 4 ++++ 7 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/code/buttons/undoButton.d.ts create mode 100644 src/code/buttons/undoButton.js create mode 100644 src/code/images/toolbar_redo.svg create mode 100644 src/code/images/toolbar_undo.svg diff --git a/src/code/addButtons.ts b/src/code/addButtons.ts index 16635974d..595cb1315 100644 --- a/src/code/addButtons.ts +++ b/src/code/addButtons.ts @@ -3,6 +3,7 @@ import QuickdrawButton from "./buttons/quickdrawButton"; import WasabeeButton from "./buttons/wasabeeButton"; import SyncButton from "./buttons/syncButton"; import OpButton from "./buttons/opButton"; +import UndoButton from "./buttons/undoButton"; import LinkButton from "./buttons/linkButton"; import MarkerButton from "./buttons/markerButton"; import UploadButton from "./buttons/uploadButton"; @@ -24,6 +25,7 @@ export function addButtons() { WasabeeButton, OpButton, QuickdrawButton, + UndoButton, QuickDeleteButton, LinkButton, MarkerButton, diff --git a/src/code/buttons/undoButton.d.ts b/src/code/buttons/undoButton.d.ts new file mode 100644 index 000000000..ddeed7229 --- /dev/null +++ b/src/code/buttons/undoButton.d.ts @@ -0,0 +1,4 @@ +import { WButton } from "../leafletClasses"; + +declare class UndoButton extends WButton {} +export default UndoButton; diff --git a/src/code/buttons/undoButton.js b/src/code/buttons/undoButton.js new file mode 100644 index 000000000..7427da6a8 --- /dev/null +++ b/src/code/buttons/undoButton.js @@ -0,0 +1,30 @@ +import { WButton } from "../leafletClasses"; +import wX from "../wX"; +import { undo } from "../undo"; +import { postToFirebase } from "../firebase/logger"; + +const UndoButton = WButton.extend({ + statics: { + TYPE: "UndoButton", + }, + + needWritePermission: true, + + initialize: function (container) { + this.type = UndoButton.TYPE; + this.title = wX("toolbar.op.undo"); + + this.button = this._createButton({ + container: container, + className: "wasabee-toolbar-undo", + callback: () => { + postToFirebase({ id: "analytics", action: "undo" }); + undo(); + }, + context: this, + title: this.title, + }); + }, +}); + +export default UndoButton; diff --git a/src/code/css/toolbar.css b/src/code/css/toolbar.css index 095514c74..765431b78 100644 --- a/src/code/css/toolbar.css +++ b/src/code/css/toolbar.css @@ -136,6 +136,14 @@ background-image: url(../images/toolbar_quickdelete.svg); background-size: 60%; } +.wasabee-toolbar-undo { + background-image: url(../images/toolbar_undo.svg); + background-size: 60%; +} +.wasabee-toolbar-redo { + background-image: url(../images/toolbar_redo.svg); + background-size: 60%; +} .wasabee-toolbar-link { background-image: url(../images/toolbar_addlinks.svg) } diff --git a/src/code/images/toolbar_quickdelete.svg b/src/code/images/toolbar_quickdelete.svg index 15035f468..439a91b76 100644 --- a/src/code/images/toolbar_quickdelete.svg +++ b/src/code/images/toolbar_quickdelete.svg @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/src/code/images/toolbar_redo.svg b/src/code/images/toolbar_redo.svg new file mode 100644 index 000000000..086a3adf5 --- /dev/null +++ b/src/code/images/toolbar_redo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/code/images/toolbar_undo.svg b/src/code/images/toolbar_undo.svg new file mode 100644 index 000000000..2aa8c2d82 --- /dev/null +++ b/src/code/images/toolbar_undo.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file