@@ -263,6 +263,21 @@ struct ItemInspectorView: View
263263 return safeMetadata
264264 }
265265
266+ func safeVector( vector: OpenTimelineIO . Metadata . Vector ) -> [ SwiftUISafeKeyAndMetadataValueType ]
267+ {
268+ var safeVector : [ SwiftUISafeKeyAndMetadataValueType ] = [ ]
269+
270+ for (index, vector) in vector. enumerated ( )
271+ {
272+ let id = " \( index) "
273+ let key = " \( index) "
274+
275+ safeVector. append ( SwiftUISafeKeyAndMetadataValueType ( id: id, key: key, value: vector) )
276+ }
277+
278+ return safeVector
279+ }
280+
266281 func safeEffects( effects: OpenTimelineIO . SerializableObject . Vector < OpenTimelineIO . Effect > ) -> [ SwiftUISafeKeyAndMetadataValueType ]
267282 {
268283 var safeEffects : [ SwiftUISafeKeyAndMetadataValueType ] = [ ]
@@ -293,6 +308,21 @@ struct ItemInspectorView: View
293308 )
294309 }
295310
311+ func resursiveMetadataViewBuilder( vector: OpenTimelineIO . Metadata . Vector , title: String = " Vector " ) -> AnyView
312+ {
313+ let safeVector = self . safeVector ( vector: vector)
314+
315+ return AnyView (
316+ DisclosureGroup ( title)
317+ {
318+ ForEach ( safeVector, id: \. self) { workAround in
319+
320+ self . resursiveMetadataViewBuilder ( workAround: workAround)
321+ }
322+ }
323+ )
324+ }
325+
296326 func resursiveEffectViewBuilder( effects: OpenTimelineIO . SerializableObject . Vector < OpenTimelineIO . Effect > , title: String = " Effects " ) -> AnyView
297327 {
298328 let safeMetadata = self . safeEffects ( effects: effects)
@@ -359,10 +389,10 @@ struct ItemInspectorView: View
359389 return self . resursiveMetadataViewBuilder ( metadata: dictionary, title: key)
360390 }
361391
362- // case .vector:
363- // if let vector = value as? Metadata.Vector {
364- // return self.resursiveMetadataViewBuilder(metadata: dictionary , title: key)
365- // }
392+ case . vector:
393+ if let vector = value as? Metadata . Vector {
394+ return self . resursiveMetadataViewBuilder ( vector : vector , title: key)
395+ }
366396
367397// case .unknown:
368398// return AnyView (Text("Unknown)"))
0 commit comments