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