fix: prevent archiving locked notes

This commit is contained in:
Baptiste Grob
2020-10-16 12:47:21 +02:00
parent c26d6a7139
commit 94f94c0570
2 changed files with 12 additions and 2 deletions

View File

@@ -19,6 +19,8 @@ export const STRING_INVALID_NOTE = "The note you are attempting to save can not
export const STRING_ELLIPSES = "..."; export const STRING_ELLIPSES = "...";
export const STRING_GENERIC_SAVE_ERROR = "There was an error saving your note. Please try again."; export const STRING_GENERIC_SAVE_ERROR = "There was an error saving your note. Please try again.";
export const STRING_DELETE_PLACEHOLDER_ATTEMPT = "This note is a placeholder and cannot be deleted. To remove from your list, simply navigate to a different note."; export const STRING_DELETE_PLACEHOLDER_ATTEMPT = "This note is a placeholder and cannot be deleted. To remove from your list, simply navigate to a different note.";
export const STRING_ARCHIVE_LOCKED_ATTEMPT = "This note is locked. If you'd like to archive it, unlock it, and try again.";
export const STRING_UNARCHIVE_LOCKED_ATTEMPT = "This note is locked. If you'd like to archive it, unlock it, and try again.";
export const STRING_DELETE_LOCKED_ATTEMPT = "This note is locked. If you'd like to delete it, unlock it, and try again."; export const STRING_DELETE_LOCKED_ATTEMPT = "This note is locked. If you'd like to delete it, unlock it, and try again.";
export function StringDeleteNote(title: string, permanently: boolean) { export function StringDeleteNote(title: string, permanently: boolean) {
return permanently return permanently

View File

@@ -1,4 +1,4 @@
import { STRING_SAVING_WHILE_DOCUMENT_HIDDEN } from './../../strings'; import { STRING_ARCHIVE_LOCKED_ATTEMPT, STRING_SAVING_WHILE_DOCUMENT_HIDDEN, STRING_UNARCHIVE_LOCKED_ATTEMPT } from './../../strings';
import { Editor } from '@/ui_models/editor'; import { Editor } from '@/ui_models/editor';
import { WebApplication } from '@/ui_models/application'; import { WebApplication } from '@/ui_models/application';
import { PanelPuppet, WebDirective } from '@/types'; import { PanelPuppet, WebDirective } from '@/types';
@@ -34,7 +34,7 @@ import {
StringDeleteNote, StringDeleteNote,
StringEmptyTrash StringEmptyTrash
} from '@/strings'; } from '@/strings';
import { confirmDialog } from '@/services/alertService'; import { alertDialog, confirmDialog } from '@/services/alertService';
const NOTE_PREVIEW_CHAR_LIMIT = 80; const NOTE_PREVIEW_CHAR_LIMIT = 80;
const MINIMUM_STATUS_DURATION = 400; const MINIMUM_STATUS_DURATION = 400;
@@ -770,6 +770,14 @@ class EditorViewCtrl extends PureViewCtrl<{}, EditorState> {
} }
toggleArchiveNote() { toggleArchiveNote() {
if (this.note.locked) {
alertDialog({
text: this.note.archived ?
STRING_UNARCHIVE_LOCKED_ATTEMPT :
STRING_ARCHIVE_LOCKED_ATTEMPT,
});
return;
}
this.saveNote( this.saveNote(
true, true,
false, false,