Config.hx 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package golden;
  2. typedef Config = {
  3. @:optional var settings: {
  4. @:optional var hasHeaders : Bool;
  5. @:optional var constrainDragToContainer : Bool;
  6. @:optional var reorderEnabled : Bool;
  7. @:optional var selectionEnabled : Bool;
  8. @:optional var popoutWholeStack : Bool;
  9. @:optional var blockedPopoutsThrowError : Bool;
  10. @:optional var closePopoutsOnUnload : Bool;
  11. @:optional var showPopoutIcon : Bool;
  12. @:optional var showMaximiseIcon : Bool;
  13. @:optional var showCloseIcon : Bool;
  14. };
  15. @:optional var dimensions: {
  16. @:optional var borderWidth: Int;
  17. @:optional var minItemHeight : Int;
  18. @:optional var minItemWidth : Int;
  19. @:optional var headerHeight : Int;
  20. @:optional var dragProxyWidth : Int;
  21. @:optional var dragProxyHeight : Int;
  22. };
  23. @:optional var labels: {
  24. @:optional var close: String;
  25. @:optional var maximise: String;
  26. @:optional var minimise: String;
  27. @:optional var popout: String;
  28. };
  29. @:optional var content: Array<ItemConfig>;
  30. };
  31. @:enum abstract ItemType(String) {
  32. var Row = "row";
  33. var Column = "column";
  34. var Stack = "stack";
  35. var Component = "component";
  36. }
  37. typedef ItemConfig = {
  38. var type: ItemType;
  39. @:optional var componentName : String;
  40. @:optional var componentState : Dynamic;
  41. @:optional var content : Array<ItemConfig>;
  42. @:optional var id : String;
  43. @:optional var width : Int;
  44. @:optional var height: Int;
  45. @:optional var isClosable : Bool;
  46. @:optional var title : String;
  47. @:optional var activeItemIndex : Int;
  48. }