From b5f5812f37c53e4decde9658c3a0b799cf13ac04 Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Thu, 29 Apr 2021 20:43:22 +0300 Subject: [PATCH] Editor | Refact | EditorMode as sealed class containing state (#1442) --- .../anytype/domain/page/EditorMode.kt | 5 - .../anytype/presentation/page/Editor.kt | 8 ++ .../presentation/page/PageViewModel.kt | 113 +++++++++--------- .../page/archive/ArchiveViewModel.kt | 4 +- .../page/render/BlockViewRenderer.kt | 4 +- .../page/render/DefaultBlockViewRenderer.kt | 44 +++---- 6 files changed, 91 insertions(+), 87 deletions(-) delete mode 100644 domain/src/main/java/com/anytypeio/anytype/domain/page/EditorMode.kt diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/page/EditorMode.kt b/domain/src/main/java/com/anytypeio/anytype/domain/page/EditorMode.kt deleted file mode 100644 index d2dbb22269..0000000000 --- a/domain/src/main/java/com/anytypeio/anytype/domain/page/EditorMode.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.anytypeio.anytype.domain.page - -enum class EditorMode { - EDITING, MULTI_SELECT, SCROLL_AND_MOVE, ACTION_MODE, SEARCH -} \ No newline at end of file diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/Editor.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/Editor.kt index f7b3daa8aa..da36ab9dca 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/Editor.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/Editor.kt @@ -9,6 +9,14 @@ import com.anytypeio.anytype.presentation.page.selection.SelectionStateHolder interface Editor { + sealed class Mode { + object Edit : Mode() + object Select : Mode() + object SAM : Mode() + object Action: Mode() + object Search : Mode() + } + class Storage { val views: Store> = Store.Screen() val focus: Store = Store.Focus() diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/PageViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/PageViewModel.kt index 832aa545fc..bc4712cac5 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/PageViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/PageViewModel.kt @@ -96,6 +96,7 @@ import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import timber.log.Timber import java.util.regex.Pattern +import com.anytypeio.anytype.presentation.page.Editor.Mode as EditorMode class PageViewModel( private val openPage: OpenPage, @@ -141,7 +142,7 @@ class PageViewModel( private val jobs = mutableListOf() - private var mode = EditorMode.EDITING + private var mode : EditorMode = EditorMode.Edit private val controlPanelInteractor = Interactor(viewModelScope) val controlPanelViewState = MutableLiveData() @@ -1456,7 +1457,7 @@ class PageViewModel( } } ActionItemType.SAM -> { - mode = EditorMode.SCROLL_AND_MOVE + mode = EditorMode.SAM viewModelScope.launch { orchestrator.stores.focus.update(Editor.Focus.empty()) } viewModelScope.launch { refresh() } proceedWithSAMQuickStartSelection(id) @@ -1552,7 +1553,7 @@ class PageViewModel( } fun onEnterSearchModeClicked() { - mode = EditorMode.SEARCH + mode = EditorMode.Search viewModelScope.launch { orchestrator.stores.views.update(views.toReadMode()) } viewModelScope.launch { renderCommand.send(Unit) } viewModelScope.launch { controlPanelInteractor.onEvent(ControlPanelMachine.Event.SearchToolbar.OnEnterSearchMode) } @@ -1563,7 +1564,7 @@ class PageViewModel( } fun onSearchToolbarEvent(event: SearchInDocEvent) { - if (mode != EditorMode.SEARCH) return + if (mode !is EditorMode.Search) return when (event) { is SearchInDocEvent.Query -> { val query = event.query.trim() @@ -1606,7 +1607,7 @@ class PageViewModel( searchResultScrollPosition.value = pos } is SearchInDocEvent.Cancel -> { - mode = EditorMode.EDITING + mode = EditorMode.Edit val update = views.clearSearchHighlights().toEditMode() viewModelScope.launch { orchestrator.stores.views.update(update) } viewModelScope.launch { renderCommand.send(Unit) } @@ -1952,7 +1953,7 @@ class PageViewModel( fun onEnterMultiSelectModeClicked() { controlPanelInteractor.onEvent(ControlPanelMachine.Event.MultiSelect.OnEnter) - mode = EditorMode.MULTI_SELECT + mode = EditorMode.Select viewModelScope.launch { orchestrator.stores.focus.update(Editor.Focus.empty()) } viewModelScope.launch { delay(DELAY_REFRESH_DOCUMENT_TO_ENTER_MULTI_SELECT_MODE) @@ -1970,7 +1971,7 @@ class PageViewModel( fun onExitMultiSelectModeClicked() { controlPanelInteractor.onEvent(ControlPanelMachine.Event.MultiSelect.OnExit) - mode = EditorMode.EDITING + mode = EditorMode.Edit clearSelections() viewModelScope.launch { delay(DELAY_REFRESH_DOCUMENT_ON_EXIT_MULTI_SELECT_MODE) @@ -1984,7 +1985,7 @@ class PageViewModel( } fun onEnterScrollAndMoveClicked() { - mode = EditorMode.SCROLL_AND_MOVE + mode = EditorMode.SAM controlPanelInteractor.onEvent(ControlPanelMachine.Event.SAM.OnEnter) viewModelScope.sendEvent( analytics = analytics, @@ -1998,11 +1999,11 @@ class PageViewModel( eventName = EventsDictionary.BTN_SCROLL_MOVE_CANCEL ) if (controlPanelViewState.value?.multiSelect?.isQuickScrollAndMoveMode == true) { - mode = EditorMode.EDITING + mode = EditorMode.Edit controlPanelInteractor.onEvent(ControlPanelMachine.Event.SAM.OnExit) viewModelScope.launch { refresh() } } else { - mode = EditorMode.MULTI_SELECT + mode = EditorMode.Select controlPanelInteractor.onEvent(ControlPanelMachine.Event.SAM.OnExit) } } @@ -2015,7 +2016,7 @@ class PageViewModel( } private fun onEnterActionMode() { - mode = EditorMode.ACTION_MODE + mode = EditorMode.Action controlPanelInteractor.onEvent(ControlPanelMachine.Event.ReadMode.OnEnter) viewModelScope.launch { refresh() @@ -2023,7 +2024,7 @@ class PageViewModel( } private fun onExitActionMode() { - mode = EditorMode.EDITING + mode = EditorMode.Edit controlPanelInteractor.onEvent(ControlPanelMachine.Event.ReadMode.OnExit) viewModelScope.launch { refresh() } } @@ -2700,7 +2701,7 @@ class PageViewModel( fun onTextInputClicked(target: Id) { Timber.d("onTextInputClicked: $target") - if (mode == EditorMode.MULTI_SELECT) { + if (mode is EditorMode.Select) { onBlockMultiSelectClicked(target) } else { controlPanelInteractor.onEvent(ControlPanelMachine.Event.OnTextInputClicked) @@ -2857,9 +2858,9 @@ class PageViewModel( clearSelections() mode = if (controlPanelViewState.value?.multiSelect?.isQuickScrollAndMoveMode == true) { - EditorMode.EDITING + EditorMode.Edit } else { - EditorMode.MULTI_SELECT + EditorMode.Select } controlPanelInteractor.onEvent(ControlPanelMachine.Event.SAM.OnApply) @@ -2891,9 +2892,9 @@ class PageViewModel( clearSelections() mode = if (controlPanelViewState.value?.multiSelect?.isQuickScrollAndMoveMode == true) { - EditorMode.EDITING + EditorMode.Edit } else { - EditorMode.MULTI_SELECT + EditorMode.Select } controlPanelInteractor.onEvent(ControlPanelMachine.Event.SAM.OnApply) @@ -2929,56 +2930,56 @@ class PageViewModel( fun onClickListener(clicked: ListenerType) = when (clicked) { is ListenerType.Bookmark.View -> { when (mode) { - EditorMode.EDITING -> onBookmarkClicked(clicked.item) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.item.id) + EditorMode.Edit -> onBookmarkClicked(clicked.item) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.item.id) else -> Unit } } is ListenerType.Bookmark.Placeholder -> { when (mode) { - EditorMode.EDITING -> onBookmarkPlaceholderClicked(clicked.target) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> onBookmarkPlaceholderClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Bookmark.Error -> { when (mode) { - EditorMode.EDITING -> onFailedBookmarkClicked(clicked.item) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.item.id) + EditorMode.Edit -> onFailedBookmarkClicked(clicked.item) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.item.id) else -> Unit } } is ListenerType.File.View -> { when (mode) { - EditorMode.EDITING -> onFileClicked(clicked.target) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> onFileClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.File.Placeholder -> { when (mode) { - EditorMode.EDITING -> onAddLocalFileClicked(clicked.target) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> onAddLocalFileClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.File.Error -> { when (mode) { - EditorMode.EDITING -> onAddLocalFileClicked(clicked.target) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> onAddLocalFileClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.File.Upload -> { when (mode) { - EditorMode.EDITING -> Unit - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> Unit + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Picture.View -> { when (mode) { - EditorMode.EDITING -> { + EditorMode.Edit -> { val target = blocks.find { it.id == clicked.target } if (target != null) { val content = target.content @@ -2993,76 +2994,76 @@ class PageViewModel( Timber.e("Could not find target for picture") } } - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Picture.Placeholder -> { when (mode) { - EditorMode.EDITING -> onAddLocalPictureClicked(clicked.target) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> onAddLocalPictureClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Picture.Error -> { when (mode) { - EditorMode.EDITING -> Unit - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> Unit + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Picture.Upload -> { when (mode) { - EditorMode.EDITING -> Unit - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> Unit + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Video.View -> { when (mode) { - EditorMode.EDITING -> Unit - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> Unit + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Video.Placeholder -> { when (mode) { - EditorMode.EDITING -> onAddLocalVideoClicked(clicked.target) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> onAddLocalVideoClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Video.Error -> { when (mode) { - EditorMode.EDITING -> Unit - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> Unit + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Video.Upload -> { when (mode) { - EditorMode.EDITING -> Unit - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> Unit + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.LongClick -> { when (mode) { - EditorMode.EDITING -> onBlockLongPressedClicked(clicked.target, clicked.dimensions) - EditorMode.MULTI_SELECT -> Unit + EditorMode.Edit -> onBlockLongPressedClicked(clicked.target, clicked.dimensions) + EditorMode.Select -> Unit else -> Unit } } is ListenerType.Page -> { when (mode) { - EditorMode.EDITING -> onPageClicked(clicked.target) - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Edit -> onPageClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Mention -> { when (mode) { - EditorMode.EDITING -> onMentionClicked(clicked.target) + EditorMode.Edit -> onMentionClicked(clicked.target) else -> Unit } } @@ -3074,25 +3075,25 @@ class PageViewModel( } is ListenerType.DividerClick -> { when (mode) { - EditorMode.MULTI_SELECT -> onBlockMultiSelectClicked(clicked.target) + EditorMode.Select -> onBlockMultiSelectClicked(clicked.target) else -> Unit } } is ListenerType.Code.SelectLanguage -> { when (mode) { - EditorMode.EDITING -> dispatch(Command.Dialog.SelectLanguage(clicked.target)) + EditorMode.Edit -> dispatch(Command.Dialog.SelectLanguage(clicked.target)) else -> Unit } } is ListenerType.Relation.Placeholder -> { when (mode) { - EditorMode.EDITING -> dispatch(Command.OpenObjectRelationScreen.Add(ctx = context, target = clicked.target)) + EditorMode.Edit -> dispatch(Command.OpenObjectRelationScreen.Add(ctx = context, target = clicked.target)) else -> onBlockMultiSelectClicked(clicked.target) } } is ListenerType.Relation.Related -> { when (mode) { - EditorMode.EDITING -> { + EditorMode.Edit -> { val relation = (clicked.value as BlockView.Relation.Related).view.relationId when (orchestrator.stores.relations.current().first { it.key == relation }.format) { Relation.Format.SHORT_TEXT, diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/archive/ArchiveViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/archive/ArchiveViewModel.kt index e12072a926..77d2f4427b 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/archive/ArchiveViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/archive/ArchiveViewModel.kt @@ -22,7 +22,6 @@ import com.anytypeio.anytype.domain.error.Error import com.anytypeio.anytype.domain.event.interactor.InterceptEvents import com.anytypeio.anytype.domain.page.ArchiveDocument import com.anytypeio.anytype.domain.page.CloseBlock -import com.anytypeio.anytype.domain.page.EditorMode import com.anytypeio.anytype.domain.page.OpenPage import com.anytypeio.anytype.presentation.common.StateReducer import com.anytypeio.anytype.presentation.common.SupportCommand @@ -42,6 +41,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import timber.log.Timber +import com.anytypeio.anytype.presentation.page.Editor.Mode as EditorMode sealed class ArchiveViewState { object Loading : ArchiveViewState() @@ -71,7 +71,7 @@ class ArchiveViewModel( private var eventSubscription: Job? = null - private var mode = EditorMode.MULTI_SELECT + private var mode = EditorMode.Select private val renderCommand = Proxy.Subject() private val renderizePipeline = Proxy.Subject() diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/BlockViewRenderer.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/BlockViewRenderer.kt index 4b7107be5c..30ba67fcf7 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/BlockViewRenderer.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/BlockViewRenderer.kt @@ -4,8 +4,8 @@ import com.anytypeio.anytype.core_models.Block import com.anytypeio.anytype.core_models.Id import com.anytypeio.anytype.core_models.Relation import com.anytypeio.anytype.domain.editor.Editor -import com.anytypeio.anytype.domain.page.EditorMode import com.anytypeio.anytype.presentation.page.editor.model.BlockView +import com.anytypeio.anytype.presentation.page.Editor.Mode as EditorMode /** * Converts business tree-like data structures to flattened view data structures. @@ -20,7 +20,7 @@ interface BlockViewRenderer { * @param indent current indent at this rendering node. */ suspend fun Map>.render( - mode: EditorMode = EditorMode.EDITING, + mode: EditorMode = EditorMode.Edit, root: Block, focus: Editor.Focus, anchor: Id, diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/DefaultBlockViewRenderer.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/DefaultBlockViewRenderer.kt index c9e010b324..02358b178c 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/DefaultBlockViewRenderer.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/page/render/DefaultBlockViewRenderer.kt @@ -7,7 +7,6 @@ import com.anytypeio.anytype.domain.cover.CoverType import com.anytypeio.anytype.domain.editor.Editor.Cursor import com.anytypeio.anytype.domain.editor.Editor.Focus import com.anytypeio.anytype.domain.misc.UrlBuilder -import com.anytypeio.anytype.domain.page.EditorMode import com.anytypeio.anytype.domain.relations.Relations import com.anytypeio.anytype.presentation.mapper.* import com.anytypeio.anytype.presentation.page.cover.CoverColor @@ -16,6 +15,7 @@ import com.anytypeio.anytype.presentation.page.editor.model.BlockView import com.anytypeio.anytype.presentation.page.toggle.ToggleStateHolder import com.anytypeio.anytype.presentation.relations.view import timber.log.Timber +import com.anytypeio.anytype.presentation.page.Editor.Mode as EditorMode class DefaultBlockViewRenderer( private val counter: Counter, @@ -419,7 +419,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Paragraph = BlockView.Text.Paragraph( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, marks = content.marks(details = details, urlBuilder = urlBuilder), @@ -438,7 +438,7 @@ class DefaultBlockViewRenderer( ): BlockView.Description = BlockView.Description( id = block.id, description = content.text.ifEmpty { null }, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) private fun headerThree( @@ -449,7 +449,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Header.Three = BlockView.Text.Header.Three( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, color = content.color, @@ -469,7 +469,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Header.Two = BlockView.Text.Header.Two( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, color = content.color, @@ -489,7 +489,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Header.One = BlockView.Text.Header.One( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, color = content.color, @@ -509,7 +509,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Checkbox = BlockView.Text.Checkbox( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, marks = content.marks(details = details, urlBuilder = urlBuilder), @@ -529,7 +529,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Bulleted = BlockView.Text.Bulleted( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, indent = indent, @@ -547,7 +547,7 @@ class DefaultBlockViewRenderer( focus: Focus, indent: Int ): BlockView.Code = BlockView.Code( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, backgroundColor = content.backgroundColor, @@ -565,7 +565,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Highlight = BlockView.Text.Highlight( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, isFocused = block.id == focus.id, text = content.text, @@ -585,7 +585,7 @@ class DefaultBlockViewRenderer( isEmpty: Boolean, details: Block.Details ): BlockView.Text.Toggle = BlockView.Text.Toggle( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, marks = content.marks(details = details, urlBuilder = urlBuilder), @@ -607,7 +607,7 @@ class DefaultBlockViewRenderer( indent: Int, details: Block.Details ): BlockView.Text.Numbered = BlockView.Text.Numbered( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, number = number, @@ -634,20 +634,20 @@ class DefaultBlockViewRenderer( imageUrl = content.image?.let { urlBuilder.image(it) }, faviconUrl = content.favicon?.let { urlBuilder.image(it) }, indent = indent, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) } else { BlockView.Error.Bookmark( id = block.id, url = url, indent = indent, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) } } ?: BlockView.MediaPlaceholder.Bookmark( id = block.id, indent = indent, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) private fun divider( @@ -675,25 +675,25 @@ class DefaultBlockViewRenderer( id = block.id, urlBuilder = urlBuilder, indent = indent, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) Content.File.Type.FILE -> content.toFileView( id = block.id, urlBuilder = urlBuilder, indent = indent, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) Content.File.Type.VIDEO -> content.toVideoView( id = block.id, urlBuilder = urlBuilder, indent = indent, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) Content.File.Type.NONE -> content.toFileView( id = block.id, urlBuilder = urlBuilder, indent = indent, - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ ) else -> throw IllegalStateException("Unexpected file type: ${content.type}") } @@ -768,7 +768,7 @@ class DefaultBlockViewRenderer( return when(layout) { Layout.BASIC -> { BlockView.Title.Basic( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, emoji = details.details[root.id]?.iconEmoji?.let { name -> @@ -792,7 +792,7 @@ class DefaultBlockViewRenderer( } Layout.TODO -> { BlockView.Title.Todo( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, isFocused = block.id == focus.id, @@ -805,7 +805,7 @@ class DefaultBlockViewRenderer( } Layout.PROFILE -> { BlockView.Title.Profile( - mode = if (mode == EditorMode.EDITING) BlockView.Mode.EDIT else BlockView.Mode.READ, + mode = if (mode == EditorMode.Edit) BlockView.Mode.EDIT else BlockView.Mode.READ, id = block.id, text = content.text, image = details.details[root.id]?.iconImage?.let { name ->