diff --git a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt index 5cb18b9c3..cc4abd47c 100644 --- a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt +++ b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/descriptors/props/ComponentPropExtractor.kt @@ -134,7 +134,7 @@ object ComponentPropExtractor { override fun isArray(array: EditorArray?): Inspectable { val values = array?.value?.map { value -> toInspectable(name, value) } - return InspectableArray(0, values ?: listOf()) + return InspectableArray(values ?: listOf()) } override fun isPick(pick: EditorPick): Inspectable = InspectableValue.Enum(pick.selected) diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt index efcabee79..e95a5cf47 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Inspectable.kt @@ -22,7 +22,7 @@ import kotlinx.serialization.encoding.Encoder // for native android this should probably be false. @SerialName("array") @Serializable -data class InspectableArray(val id: Int, val items: List) : Inspectable() +data class InspectableArray(val items: List) : Inspectable() // In this context, mutable means you can add / remove keys, // for native android this should probably be false. diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx index 13e948887..3aff0a231 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx @@ -90,6 +90,32 @@ const ObjectAttributeInspector: React.FC<{ ); }; +const ArrayAttributeInspector: React.FC<{ + metadata: Map; + name: string; + items: Inspectable[]; + level: number; +}> = ({metadata, name, items, level}) => { + return ( +
+ {name} + {items.map(function (item, idx) { + const inspectableValue = item; + const attributeName = idx.toString(); + return ( + + {create(metadata, attributeName, inspectableValue, level + 2)} + + ); + })} +
+ ); +}; + function create( metadata: Map, name: string, @@ -164,6 +190,15 @@ function create( {inspectable.value} ); + case 'array': + return ( + + ); case 'object': return ( ; }; +export type InspectableArray = { + type: 'array'; + items: Inspectable[]; +}; + export type InspectableUnknown = { type: 'unknown'; value: string;