mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-3429 Primitives | Edit type properties, part 3 (#2147)
This commit is contained in:
parent
d0fcf8f527
commit
481650572e
8 changed files with 1076 additions and 14 deletions
|
@ -1,5 +1,7 @@
|
|||
package com.anytypeio.anytype.feature_object_type.fields
|
||||
|
||||
import com.anytypeio.anytype.core_models.Id
|
||||
|
||||
sealed class FieldEvent {
|
||||
|
||||
data object OnEditPropertyScreenDismiss : FieldEvent()
|
||||
|
@ -7,7 +9,7 @@ sealed class FieldEvent {
|
|||
data class OnFieldItemClick(val item: UiFieldsListItem) : FieldEvent()
|
||||
|
||||
sealed class FieldItemMenu : FieldEvent() {
|
||||
data class OnDeleteFromTypeClick(val item: UiFieldsListItem) : FieldItemMenu()
|
||||
data class OnDeleteFromTypeClick(val id: Id) : FieldItemMenu()
|
||||
data class OnAddLocalToTypeClick(val item: UiFieldsListItem) : FieldItemMenu()
|
||||
}
|
||||
|
||||
|
|
|
@ -226,7 +226,9 @@ fun FieldsMainScreen(
|
|||
onLimitTypesClick = {},
|
||||
onSaveButtonClicked = {},
|
||||
onCreateNewButtonClicked = {},
|
||||
onPropertyNameUpdate = { }
|
||||
onPropertyNameUpdate = { },
|
||||
onDeleteButtonClicked = { id -> fieldEvent(OnDeleteFromTypeClick(id)) },
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -617,7 +619,7 @@ fun ItemDropDownMenu(
|
|||
)
|
||||
},
|
||||
onClick = {
|
||||
onFieldEvent(OnDeleteFromTypeClick(item))
|
||||
onFieldEvent(OnDeleteFromTypeClick(id = item.id))
|
||||
},
|
||||
)
|
||||
}
|
||||
|
|
|
@ -500,8 +500,8 @@ class ObjectTypeViewModel(
|
|||
|
||||
is TypeEvent.OnTemplateMenuClick.Duplicate -> {
|
||||
if (event.item is TemplateView.Template) {
|
||||
proceedWithTemplateDuplicate(
|
||||
template = event.item.id
|
||||
proceedWithDuplicateObject(
|
||||
objectId = event.item.id
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -702,7 +702,7 @@ class ObjectTypeViewModel(
|
|||
private fun proceedWithFieldItemMenuClick(event: FieldEvent.FieldItemMenu) {
|
||||
when (event) {
|
||||
is FieldEvent.FieldItemMenu.OnDeleteFromTypeClick -> {
|
||||
val deleteId = event.item.id
|
||||
val deleteId = event.id
|
||||
val headerItems = mutableListOf<Id>()
|
||||
val sideBarItems = mutableListOf<Id>()
|
||||
val hiddenItems = mutableListOf<Id>()
|
||||
|
@ -741,6 +741,7 @@ class ObjectTypeViewModel(
|
|||
hiddenFields = hiddenItems,
|
||||
fileFields = filesItems
|
||||
)
|
||||
uiEditPropertyScreen.value = UiEditPropertyState.Hidden
|
||||
}
|
||||
|
||||
is FieldEvent.FieldItemMenu.OnAddLocalToTypeClick -> {
|
||||
|
@ -859,17 +860,17 @@ class ObjectTypeViewModel(
|
|||
}
|
||||
}
|
||||
|
||||
private fun proceedWithTemplateDuplicate(template: Id) {
|
||||
private fun proceedWithDuplicateObject(objectId: Id) {
|
||||
val params = DuplicateObjects.Params(
|
||||
ids = listOf(template)
|
||||
ids = listOf(objectId)
|
||||
)
|
||||
viewModelScope.launch {
|
||||
duplicateObjects.async(params).fold(
|
||||
onSuccess = {
|
||||
Timber.d("Template $template duplicated")
|
||||
Timber.d("Object $objectId duplicated")
|
||||
},
|
||||
onFailure = {
|
||||
Timber.e(it, "Error while duplicating template $template")
|
||||
Timber.e(it, "Error while duplicating object $objectId")
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue