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