1 // Copyright 2015-present 650 Industries. All rights reserved.
2 
3 import Foundation
4 
5 @objc
6 public class DevMenuScreen: DevMenuItem, DevMenuItemsContainerProtocol {
7   let container = DevMenuItemsContainer()
8   public private(set) var screenName: String
9 
10   public func getRootItems() -> [DevMenuScreenItem] {
11     return container.getRootItems()
12   }
13 
14   public func getAllItems() -> [DevMenuScreenItem] {
15     return container.getAllItems()
16   }
17 
18   public func addItem(_ item: DevMenuScreenItem) {
19     container.addItem(item)
20   }
21 
22   func serializeItems() -> [[String: Any]] {
23     return container.serializeItems()
24   }
25 
26   public init(_ screenName: String) {
27     self.screenName = screenName
28     super.init(type: .Screen)
29   }
30 
31   public override func serialize() -> [String: Any] {
32     var dict = super.serialize()
33     dict["screenName"] = screenName
34     dict["items"] = serializeItems()
35     return dict
36   }
37 }
38