1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-224 Relation value screen shows an empty numbered value (#2449)

* DROID-224 used Number.parsed function for numbered values

* DROID-224 fix tests

* DROID-224 fix

Co-authored-by: konstantiniiv <ki@anytype.io>
This commit is contained in:
Konstantin Ivanov 2022-07-29 15:25:08 +02:00 committed by GitHub
parent 959a87cda6
commit 5bb1a3f466
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 11 deletions

View file

@ -76,7 +76,7 @@ class DisplayRelationNumberValueTest {
val relationKey = MockDataFactory.randomUuid()
val target = MockDataFactory.randomUuid()
val relationText = "Number"
val valueText = "345.09"
val valueText = 345.09
val record: Map<String, Any?> = mapOf(
ObjectSetConfig.ID_KEY to target,
@ -129,8 +129,8 @@ class DisplayRelationNumberValueTest {
RelationTextValueFragment.CONTEXT_ID to root,
RelationTextValueFragment.RELATION_ID to relationKey,
RelationTextValueFragment.OBJECT_ID to target,
RelationTextValueFragment.FLOW_KEY to FLOW_DATAVIEW
RelationTextValueFragment.FLOW_KEY to FLOW_DATAVIEW,
RelationTextValueFragment.LOCKED_KEY to DEFAULT_IS_LOCKED
)
)
@ -149,7 +149,7 @@ class DisplayRelationNumberValueTest {
val relationKey = MockDataFactory.randomUuid()
val target = MockDataFactory.randomUuid()
val relationText = "Number"
val valueText = "345.0"
val valueText = 345.0
val record: Map<String, Any?> = mapOf(
ObjectSetConfig.ID_KEY to target,
@ -202,8 +202,8 @@ class DisplayRelationNumberValueTest {
RelationTextValueFragment.CONTEXT_ID to root,
RelationTextValueFragment.RELATION_ID to relationKey,
RelationTextValueFragment.OBJECT_ID to target,
RelationTextValueFragment.FLOW_KEY to FLOW_DATAVIEW
RelationTextValueFragment.FLOW_KEY to FLOW_DATAVIEW,
RelationTextValueFragment.LOCKED_KEY to DEFAULT_IS_LOCKED
)
)
@ -215,7 +215,7 @@ class DisplayRelationNumberValueTest {
}
@Test
fun shouldRenderУьзенNumberValue() {
fun shouldRenderNumberValue() {
// SETUP
@ -275,8 +275,8 @@ class DisplayRelationNumberValueTest {
RelationTextValueFragment.CONTEXT_ID to root,
RelationTextValueFragment.RELATION_ID to relationKey,
RelationTextValueFragment.OBJECT_ID to target,
RelationTextValueFragment.FLOW_KEY to FLOW_DATAVIEW
RelationTextValueFragment.FLOW_KEY to FLOW_DATAVIEW,
RelationTextValueFragment.LOCKED_KEY to DEFAULT_IS_LOCKED
)
)
@ -293,4 +293,8 @@ class DisplayRelationNumberValueTest {
themeResId = R.style.AppTheme
)
}
companion object {
const val DEFAULT_IS_LOCKED = false
}
}

View file

@ -37,42 +37,47 @@ class RelationTextValueViewModel(
values.subscribe(recordId)
) { relation, values ->
title.value = relation.name
val value = values[relationId] as? String
val isValueReadOnly = values[Relations.IS_READ_ONLY] as? Boolean ?: false
val isValueEditable = !(isValueReadOnly || isLocked)
views.value = listOf(
when (relation.format) {
Relation.Format.SHORT_TEXT -> {
val value = values[relationId] as? String
RelationTextValueView.TextShort(
value = value,
isEditable = isValueEditable
)
}
Relation.Format.LONG_TEXT -> {
val value = values[relationId] as? String
RelationTextValueView.Text(
value = value,
isEditable = isValueEditable
)
}
Relation.Format.NUMBER -> {
val value = NumberParser.parse(values[relationId])
RelationTextValueView.Number(
value = NumberParser.parse(value),
value = value,
isEditable = isValueEditable
)
}
Relation.Format.URL -> {
val value = values[relationId] as? String
RelationTextValueView.Url(
value = value,
isEditable = isValueEditable
)
}
Relation.Format.EMAIL -> {
val value = values[relationId] as? String
RelationTextValueView.Email(
value = value,
isEditable = isValueEditable
)
}
Relation.Format.PHONE -> {
val value = values[relationId] as? String
RelationTextValueView.Phone(
value = value,
isEditable = isValueEditable