From cbee8faa75c2234d5ab09af971ffed81bcb08a47 Mon Sep 17 00:00:00 2001 From: yanjuntao Date: Tue, 17 May 2022 15:44:16 +0800 Subject: [PATCH 1/2] Detail page delete button Signed-off-by: yanjuntao --- .../src/main/ets/components/CusDialogComp.ets | 8 +++- .../components/NoteContentCompPortrait.ets | 42 ++++++++++++++++++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/common/component/src/main/ets/components/CusDialogComp.ets b/common/component/src/main/ets/components/CusDialogComp.ets index cc1e779..89153ef 100644 --- a/common/component/src/main/ets/components/CusDialogComp.ets +++ b/common/component/src/main/ets/components/CusDialogComp.ets @@ -198,12 +198,18 @@ export struct DeleteDialog { .textAlign(TextAlign.Center) .maxLines(1) .visibility(this.multiSelect == false || this.selectedFolderData.uuid == SysDefFolderUuid.RecentDeletes ? Visibility.None : Visibility.Visible) - } else { + } else if (this.CheckedNoteArray.length > 1){ Text($r("app.string.deletePartNote", this.CheckedNoteArray.length)) .fontSize(14) .textAlign(TextAlign.Center) .maxLines(1) .visibility(this.multiSelect == false || this.selectedFolderData.uuid == SysDefFolderUuid.RecentDeletes ? Visibility.None : Visibility.Visible) + } else { + Text($r("app.string.deleteNote")) + .fontSize(14) + .textAlign(TextAlign.Center) + .maxLines(1) + .visibility(this.multiSelect == false || this.selectedFolderData.uuid == SysDefFolderUuid.RecentDeletes ? Visibility.None : Visibility.Visible) } } } diff --git a/common/component/src/main/ets/components/NoteContentCompPortrait.ets b/common/component/src/main/ets/components/NoteContentCompPortrait.ets index b947269..cf838ae 100644 --- a/common/component/src/main/ets/components/NoteContentCompPortrait.ets +++ b/common/component/src/main/ets/components/NoteContentCompPortrait.ets @@ -34,6 +34,14 @@ var time_id: number const TAG = "NoteContentCompPortrait" +async function routePage() { + try { + await router.back() + } catch (err) { + LogUtil.info(TAG, "fail callback") + } +} + // Note content component @Component export struct NoteContentCompPortrait { @@ -250,6 +258,34 @@ export struct ToolBarComp { @StorageLink('AllNoteArray') AllNoteArray: NoteData[] = AppStorage.Link('AllNoteArray') controllerShow: WebController + onDeleteConfirm() { + if (this.selectedFolderData.uuid != SysDefFolderUuid.RecentDeletes) { + this.selectedNoteData.is_deleted = Delete.Yes + this.selectedNoteData.deleted_time = new Date().getTime() + // update note to db + let predicates_note = RdbStoreUtil.getRdbPredicates(TableName.NoteTable) + predicates_note.equalTo(NoteTableColumn.Uuid, this.selectedNoteData.uuid) + RdbStoreUtil.update(this.selectedNoteData.toNoteObject(), predicates_note, null) + // 跳转 + routePage() + } else { + NoteUtil.removeNoteData(this.AllNoteArray, this.selectedNoteData.uuid) + // delete note from db + let predicates_note = RdbStoreUtil.getRdbPredicates(TableName.NoteTable) + predicates_note.equalTo(NoteTableColumn.Uuid, this.selectedNoteData.uuid) + RdbStoreUtil.delete(predicates_note, null) + // 跳转 + routePage() + } + } + + noteDataDeleteDialogCtl: CustomDialogController = new CustomDialogController({ + builder: DeleteDialog({ onConfirm: this.onDeleteConfirm.bind(this), multiSelect: true }), + alignment: DialogAlignment.Center, + autoCancel: false, + customStyle: true, + }) + build() { Flex({ direction: FlexDirection.Row, wrap: FlexWrap.NoWrap, justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { @@ -286,7 +322,11 @@ export struct ToolBarComp { AppStorage.SetOrCreate('ContinueNote', continueNote) LogUtil.info(TAG, 'ToolBarComp, set continue note success') }) - }.width(36) + Image($r('app.media.delete')).height(24).width(24) + .onClick(()=>{ + this.noteDataDeleteDialogCtl.open() + }) + }.width(72) .visibility(this.selectedNoteData.is_deleted == Delete.Yes ? Visibility.None : Visibility.Visible) } else { Row({ space: StyleConstants.SPACE_6 }) { From c64c208f8e71290e547e98c75ec5455a738fbe1c Mon Sep 17 00:00:00 2001 From: yanjuntao Date: Tue, 17 May 2022 16:17:04 +0800 Subject: [PATCH 2/2] fix dialog position Signed-off-by: yanjuntao --- common/component/src/main/ets/components/CusDialogComp.ets | 6 ------ .../src/main/ets/components/NoteContentCompPortrait.ets | 4 +--- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/common/component/src/main/ets/components/CusDialogComp.ets b/common/component/src/main/ets/components/CusDialogComp.ets index 89153ef..03bcf2d 100644 --- a/common/component/src/main/ets/components/CusDialogComp.ets +++ b/common/component/src/main/ets/components/CusDialogComp.ets @@ -192,12 +192,6 @@ export struct DeleteDialog { .textAlign(TextAlign.Center) .maxLines(1) .visibility(this.multiSelect == false || this.selectedFolderData.uuid == SysDefFolderUuid.RecentDeletes ? Visibility.None : Visibility.Visible) - } else if (this.CheckedNoteArray.length == 1) { - Text($r("app.string.deleteNote")) - .fontSize(14) - .textAlign(TextAlign.Center) - .maxLines(1) - .visibility(this.multiSelect == false || this.selectedFolderData.uuid == SysDefFolderUuid.RecentDeletes ? Visibility.None : Visibility.Visible) } else if (this.CheckedNoteArray.length > 1){ Text($r("app.string.deletePartNote", this.CheckedNoteArray.length)) .fontSize(14) diff --git a/common/component/src/main/ets/components/NoteContentCompPortrait.ets b/common/component/src/main/ets/components/NoteContentCompPortrait.ets index cf838ae..c0cce27 100644 --- a/common/component/src/main/ets/components/NoteContentCompPortrait.ets +++ b/common/component/src/main/ets/components/NoteContentCompPortrait.ets @@ -266,7 +266,6 @@ export struct ToolBarComp { let predicates_note = RdbStoreUtil.getRdbPredicates(TableName.NoteTable) predicates_note.equalTo(NoteTableColumn.Uuid, this.selectedNoteData.uuid) RdbStoreUtil.update(this.selectedNoteData.toNoteObject(), predicates_note, null) - // 跳转 routePage() } else { NoteUtil.removeNoteData(this.AllNoteArray, this.selectedNoteData.uuid) @@ -274,14 +273,13 @@ export struct ToolBarComp { let predicates_note = RdbStoreUtil.getRdbPredicates(TableName.NoteTable) predicates_note.equalTo(NoteTableColumn.Uuid, this.selectedNoteData.uuid) RdbStoreUtil.delete(predicates_note, null) - // 跳转 routePage() } } noteDataDeleteDialogCtl: CustomDialogController = new CustomDialogController({ builder: DeleteDialog({ onConfirm: this.onDeleteConfirm.bind(this), multiSelect: true }), - alignment: DialogAlignment.Center, + alignment: DialogAlignment.Bottom, autoCancel: false, customStyle: true, })