1
0
Fork 0
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:
Konstantin Ivanov 2025-03-11 09:58:04 +01:00 committed by GitHub
parent d0fcf8f527
commit 481650572e
Signed by: github
GPG key ID: B5690EEEBB952194
8 changed files with 1076 additions and 14 deletions

View file

@ -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()
}

View file

@ -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))
},
)
}

View file

@ -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")
}
)
}