From cc5f8f81e7076c191eb10bb2b5dae2a598b401f7 Mon Sep 17 00:00:00 2001 From: sawka Date: Tue, 21 Feb 2023 18:02:28 -0800 Subject: [PATCH] bookmark editing/delete --- src/main.tsx | 68 +++++++++++++++++++++++++++++-- src/model.ts | 110 ++++++++++++++++++++++++++++++++++++++++++++++++--- src/sh2.less | 36 ++++++++++++++++- src/types.ts | 10 ++--- 4 files changed, 207 insertions(+), 17 deletions(-) diff --git a/src/main.tsx b/src/main.tsx index ec9c8645..9fca6350 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2805,7 +2805,39 @@ class Bookmark extends React.Component<{bookmark : BookmarkType}, {}> { @boundMethod handleEditClick() : void { - console.log("do edit"); + let {bookmark} = this.props; + let model = GlobalModel.bookmarksModel; + model.handleEditBookmark(bookmark.bookmarkid); + } + + @boundMethod + handleEditCancel() : void { + let model = GlobalModel.bookmarksModel; + model.cancelEdit(); + return; + } + + @boundMethod + handleEditUpdate() : void { + let model = GlobalModel.bookmarksModel; + model.confirmEdit(); + return; + } + + @boundMethod + handleDescChange(e : any) : void { + let model = GlobalModel.bookmarksModel; + mobx.action(() => { + model.tempDesc.set(e.target.value); + })(); + } + + @boundMethod + handleCmdChange(e : any) : void { + let model = GlobalModel.bookmarksModel; + mobx.action(() => { + model.tempCmd.set(e.target.value); + })(); } render() { @@ -2823,13 +2855,41 @@ class Bookmark extends React.Component<{bookmark : BookmarkType}, {}> { h6: (props) => HeaderRenderer(props, 6), code: CodeRenderer, }; - if (bm.cmdstr.startsWith("git")) { - markdown = "Use to modify the code repo\n1. git pull\n2. git push\n3. git commit\n\n> one\n> more blockquote\n>\n> more"; - } let hasDesc = markdown != ""; + let isEditing = (model.editingBookmark.get() == bm.bookmarkid); + if (isEditing) { + return ( +
+
+
+
+ +
+