refactor(client): rename readOnlyDecision

This commit is contained in:
Elian Doran 2025-06-06 19:29:06 +03:00
parent c28edb674c
commit a2a509d45c
No known key found for this signature in database
2 changed files with 12 additions and 7 deletions

View File

@ -275,13 +275,12 @@ class NoteContext extends Component implements EventListener<"entitiesReloaded">
this.resetViewScope(); this.resetViewScope();
} }
// We've ensured viewScope exists by calling resetViewScope() if needed const viewScope = this.viewScope!;
const viewScope = this.viewScope as ViewScope;
if (viewScope.readOnlyDecision === undefined) { if (viewScope.isReadOnly === undefined) {
const blob = await this.note.getBlob(); const blob = await this.note.getBlob();
if (!blob) { if (!blob) {
viewScope.readOnlyDecision = false; viewScope.isReadOnly = false;
return false; return false;
} }
@ -289,13 +288,13 @@ class NoteContext extends Component implements EventListener<"entitiesReloaded">
? options.getInt("autoReadonlySizeText") ? options.getInt("autoReadonlySizeText")
: options.getInt("autoReadonlySizeCode"); : options.getInt("autoReadonlySizeCode");
viewScope.readOnlyDecision = Boolean(sizeLimit && viewScope.isReadOnly = Boolean(sizeLimit &&
blob.contentLength > sizeLimit && blob.contentLength > sizeLimit &&
!this.note.isLabelTruthy("autoReadOnlyDisabled")); !this.note.isLabelTruthy("autoReadOnlyDisabled"));
} }
// Return the cached decision, which won't change until viewScope is reset // Return the cached decision, which won't change until viewScope is reset
return viewScope.readOnlyDecision || false; return viewScope.isReadOnly || false;
} }
async entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) { async entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) {

View File

@ -48,7 +48,13 @@ export interface ViewScope {
viewMode?: ViewMode; viewMode?: ViewMode;
attachmentId?: string; attachmentId?: string;
readOnlyTemporarilyDisabled?: boolean; readOnlyTemporarilyDisabled?: boolean;
readOnlyDecision?: boolean; /**
* If true, it indicates that the note in the view should be opened in read-only mode (for supported note types such as text or code).
*
* The reason why we store this information here is that a note can become read-only as the user types content in it, and we wouldn't want
* to immediately enter read-only mode.
*/
isReadOnly?: boolean;
highlightsListPreviousVisible?: boolean; highlightsListPreviousVisible?: boolean;
highlightsListTemporarilyHidden?: boolean; highlightsListTemporarilyHidden?: boolean;
tocTemporarilyHidden?: boolean; tocTemporarilyHidden?: boolean;