diff --git a/Workflow/Models/PresentationType.swift b/Workflow/Models/PresentationType.swift index 0d82d76bb..ce0bd2fe7 100644 --- a/Workflow/Models/PresentationType.swift +++ b/Workflow/Models/PresentationType.swift @@ -7,8 +7,19 @@ // import Foundation +/** + PresentationType: An enum that indicates how FlowRepresentables should be presented + + ### Discussion: + Mostly used when you tell a workflow to launch, or on the `FlowRepresentable` protocol if you have a view that preferrs to be launched with a certain style + */ public enum PresentationType:Int { + /// navigationStack: Indicates a `FlowRepresentable` should be launched in a navigation stack of some kind (For example with UIKit this would use a UINavigationController) + /// - Note: If no current navigation stack is available, one will be created case navigationStack + /// modally: Indicates a `FlowRepresentable` should be launched modally case modally + /// default: Indicates a `FlowRepresentable` can be launched contextually + /// - Note: If there's already a navigation stack, it will be used. Otherwise views will present modally case `default` } diff --git a/Workflow/Protocols/Presenter.swift b/Workflow/Protocols/Presenter.swift index eb274b13a..f3befa42b 100644 --- a/Workflow/Protocols/Presenter.swift +++ b/Workflow/Protocols/Presenter.swift @@ -8,8 +8,20 @@ import Foundation +/** + Presenter: Used in the event you want to create your own kind of presenter. + + ### Discussion: + Hopefully the framework takes care of this for you, however there may be situations where you need to create your own presenter. A presenter fundamentally is just an object a Workflow reports to. It gets told when to launch a view, and where to launch it from. It also gets told when to abandon a particular workflow back to the beginning. + */ + public protocol Presenter: AnyPresenter { + /// ViewType: The type your presenter deals with (e.g. UIViewController) associatedtype ViewType + /// launch: A method to let the presenter know it needs to present a view + /// - Parameter view: The view to show + /// - Parameter root: The view that is currently visible + /// - Parameter launchStyle: The preferred style to launch the view with see: `PresentationType` func launch(view:ViewType, from root:ViewType, withLaunchStyle launchStyle: PresentationType) } diff --git a/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift b/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift index b20bd7d7d..c26230119 100644 --- a/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift +++ b/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift @@ -7,11 +7,22 @@ // import Foundation + +/** + AnyFlowRepresentable: A type erased version of 'FlowRepresentable'. Generally speaking don't use this directly, use FlowRepresentable instead. + */ public protocol AnyFlowRepresentable { + /// preferredLaunchStyle: Gives the ability for a `FlowRepresentable` to describe how it best shows up. For example a view can claim it preferrs to be launched in a navigationStack var preferredLaunchStyle:PresentationType { get } + /// workflow: Access to the `Workflow` controlling the `FlowRepresentable`. A common use case may be a `FlowRepresentable` that wants to abandon the `Workflow` it's in. + /// - Note: While not strictly necessary it would be wise to declare this property as `weak` var workflow:Workflow? { get set } var callback:((Any?) -> Void)? { get set } func erasedShouldLoad(with args:Any?) -> Bool + + /// instance: A method to return an instance of the `FlowRepresentable` + /// - Returns: `AnyFlowRepresentable`. Specifically a new instance from the static class passed to a `Workflow` + /// - Note: This needs to return a unique instance of your view. Whether programmatic or from the storyboard is irrelevant static func instance() -> AnyFlowRepresentable } diff --git a/Workflow/UIKitPresenter/UIWorkflowItem.swift b/Workflow/UIKitPresenter/UIWorkflowItem.swift index ca92cfa45..e5c523db2 100644 --- a/Workflow/UIKitPresenter/UIWorkflowItem.swift +++ b/Workflow/UIKitPresenter/UIWorkflowItem.swift @@ -9,6 +9,42 @@ import Foundation import UIKit +/** + UIWorkflowItem: A subclass of UIViewController designed for convenience. This does **NOT** have to be used, it simply removes some of the overhead that normally comes with a FlowRepresentable. + + ### Examples: + ```swift + class SomeFlowRepresentable: UIWorkflowItem { //must take in a string, or will not load + var name:String? + } + extension SomeFlowRepresentable: FlowRepresentable { + func shouldLoad(with name:String) { + self.name = name + return true + } + static func instance() -> AnyFlowRepresentable { + return SomeFlowRepresentable() + } + } + ``` + + ### Discussion: + If you would like the same convenience for other UIKit types this class is very straightforward to create: + ``` + open class UITableViewWorkflowItem: UITableViewController { + public var callback: ((Any?) -> Void)? + + public typealias IntakeType = I + + public weak var workflow: Workflow? + + open var preferredLaunchStyle:PresentationType { + return .default + } + } + ``` + */ + open class UIWorkflowItem: UIViewController { public var callback: ((Any?) -> Void)? diff --git a/Workflow/Workflow.swift b/Workflow/Workflow.swift index 2a07ec432..95b793cac 100644 --- a/Workflow/Workflow.swift +++ b/Workflow/Workflow.swift @@ -48,7 +48,7 @@ public class Workflow: LinkedList { public func applyPresenter(_ presenter:AnyPresenter) { self.presenter = presenter } - + public func launch(from: Any?, with args:Any?, withLaunchStyle launchStyle:PresentationType = .default, onFinish:((Any?) -> Void)? = nil) -> LinkedList.Node? { #if DEBUG if (NSClassFromString("XCTest") != nil) { @@ -86,6 +86,11 @@ public class Workflow: LinkedList { return firstLoadedInstance } + /// abandon: Called when the workflow should be terminated, and the app should return to the point before the workflow was launched + /// - Parameter animated: A boolean indicating whether abandoning the workflow should be animated + /// - Parameter onFinish: A callback after the workflow has been abandoned. + /// - Returns: Void + /// - Note: In order for this to function the workflow must have a presenter, presenters must call back to the workflow to inform when the abandon process has finished for the onFinish callback to be called. public func abandon(animated:Bool = true, onFinish:(() -> Void)? = nil) { presenter?.abandon(self, animated:animated) { self.removeInstances() diff --git a/docs/Classes.html b/docs/Classes.html index d3cfde970..dc681c9d3 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -14,7 +14,7 @@
-

DynamicWorkflow Docs (20% documented)

+

DynamicWorkflow Docs (45% documented)

@@ -31,16 +31,33 @@ Classes + + @@ -53,6 +70,66 @@

Classes

+
+
    +
  • +
    + + + + UIWorkflowItem + +
    +
    +
    +
    +
    +
    +

    UIWorkflowItem: A subclass of UIViewController designed for convenience. This does NOT have to be used, it simply removes some of the overhead that normally comes with a FlowRepresentable.

    +

    Examples:

    +
    class SomeFlowRepresentable: UIWorkflowItem<String> { //must take in a string, or will not load
    +    var name:String?
    +}
    +extension SomeFlowRepresentable: FlowRepresentable {
    +    func shouldLoad(with name:String) {
    +        self.name = name
    +        return true
    +    }
    +    static func instance() -> AnyFlowRepresentable {
    +        return SomeFlowRepresentable()
    +    }
    +}
    +
    +

    Discussion:

    + +

    If you would like the same convenience for other UIKit types this class is very straightforward to create:

    +
    open class UITableViewWorkflowItem<I>: UITableViewController {
    +    public var callback: ((Any?) -> Void)?
    +
    +    public typealias IntakeType = I
    +
    +    public weak var workflow: Workflow?
    +
    +    open var preferredLaunchStyle:PresentationType {
    +        return .default
    +    }
    +}
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open class UIWorkflowItem<I> : UIViewController
    + +
    +
    +
    +
    +
  • +
+
  • @@ -86,12 +163,13 @@

    Discussion:

    } + See more

Declaration

Swift

-
public class Workflow : LinkedList<AnyFlowRepresentable.Type>
+
public class Workflow : LinkedList<AnyFlowRepresentable.Type>
diff --git a/docs/Classes/Workflow.html b/docs/Classes/Workflow.html index f17f2839d..eb5014a02 100644 --- a/docs/Classes/Workflow.html +++ b/docs/Classes/Workflow.html @@ -14,7 +14,7 @@
-

DynamicWorkflow Docs (7% documented)

+

DynamicWorkflow Docs (45% documented)

@@ -31,22 +31,7 @@ Classes -
    -
  • -
    - - - - firstLoadedInstance - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var firstLoadedInstance: LinkedList<AnyFlowRepresentable?>.Node<AnyFlowRepresentable?>?
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - applyPresenter(_:) - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func applyPresenter(_ presenter: AnyPresenter)
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func launch(from: Any?, with args: Any?, withLaunchStyle launchStyle: PresentationType = .default, onFinish: ((Any?) -> Void)? = nil) -> LinkedList<AnyFlowRepresentable?>.Node<AnyFlowRepresentable?>?
    - -
    -
    -
    -
    -
  • @@ -198,7 +107,12 @@

    Declaration

    -

    Undocumented

    +

    abandon: Called when the workflow should be terminated, and the app should return to the point before the workflow was launched

    +
    +

    Note

    + In order for this to function the workflow must have a presenter, presenters must call back to the workflow to inform when the abandon process has finished for the onFinish callback to be called. + +
    @@ -209,6 +123,41 @@

    Declaration

    +
    +

    Parameters

    + + + + + + + + + + + +
    + + animated + + +
    +

    A boolean indicating whether abandoning the workflow should be animated

    +
    +
    + + onFinish + + +
    +

    A callback after the workflow has been abandoned.

    +
    +
    +
    +
    +

    Return Value

    +

    Void

    +
diff --git a/docs/Enums.html b/docs/Enums.html index 756c2b7ce..84fd60122 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -14,7 +14,7 @@
-

DynamicWorkflow Docs (7% documented)

+

DynamicWorkflow Docs (45% documented)

@@ -31,22 +31,7 @@ Classes -
-

Undocumented

+

PresentationType: An enum that indicates how FlowRepresentables should be presented

+

Discussion:

+ +

Mostly used when you tell a workflow to launch, or on the FlowRepresentable protocol if you have a view that preferrs to be launched with a certain style

@@ -117,7 +94,12 @@

PresentationType

-

Undocumented

+

navigationStack: Indicates a FlowRepresentable should be launched in a navigation stack of some kind (For example with UIKit this would use a UINavigationController)

+
+

Note

+ If no current navigation stack is available, one will be created + +
@@ -144,7 +126,7 @@

Declaration

-

Undocumented

+

modally: Indicates a FlowRepresentable should be launched modally

@@ -171,7 +153,12 @@

Declaration

-

Undocumented

+

default: Indicates a FlowRepresentable can be launched contextually

+
+

Note

+ If there’s already a navigation stack, it will be used. Otherwise views will present modally + +
diff --git a/docs/Protocols.html b/docs/Protocols.html index 984a60332..a4709747b 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -14,7 +14,7 @@
-

DynamicWorkflow Docs (20% documented)

+

DynamicWorkflow Docs (45% documented)

@@ -31,16 +31,33 @@ Classes + + @@ -99,7 +116,74 @@

Discussion:

Declaration

Swift

-
public protocol FlowRepresentable : AnyFlowRepresentable
+
public protocol FlowRepresentable : AnyFlowRepresentable
+ +
+
+
+
+ + +
+
+
    +
  • +
    + + + + Presenter + +
    +
    +
    +
    +
    +
    +

    Presenter: Used in the event you want to create your own kind of presenter.

    +

    Discussion:

    + +

    Hopefully the framework takes care of this for you, however there may be situations where you need to create your own presenter. A presenter fundamentally is just an object a Workflow reports to. It gets told when to launch a view, and where to launch it from. It also gets told when to abandon a particular workflow back to the beginning.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol Presenter : AnyPresenter
    + +
    +
    +
    +
    +
  • +
+
+
+
-

Undocumented

+

AnyFlowRepresentable: A type erased version of ‘FlowRepresentable’. Generally speaking don’t use this directly, use FlowRepresentable instead.

@@ -117,7 +91,7 @@

AnyFlowRepresentable

-

Undocumented

+

preferredLaunchStyle: Gives the ability for a FlowRepresentable to describe how it best shows up. For example a view can claim it preferrs to be launched in a navigationStack

@@ -144,68 +118,19 @@

Declaration

-

Undocumented

+

workflow: Access to the Workflow controlling the FlowRepresentable. A common use case may be a FlowRepresentable that wants to abandon the Workflow it’s in.

+
+

Note

+ While not strictly necessary it would be wise to declare this property as weak -
-
-

Declaration

-
-

Swift

-
var workflow: Workflow? { get set }
- -
-
-
-
- -
  • -
    - - - - callback - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    var callback: ((Any?) -> Void)? { get set }
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    Undocumented

    +

    Declaration

    Swift

    -
    func erasedShouldLoad(with args: Any?) -> Bool
    +
    var workflow: Workflow? { get set }
    @@ -225,7 +150,12 @@

    Declaration

    -

    Undocumented

    +

    instance: A method to return an instance of the FlowRepresentable

    +
    +

    Note

    + This needs to return a unique instance of your view. Whether programmatic or from the storyboard is irrelevant + +
    @@ -236,6 +166,10 @@

    Declaration

    +
    +

    Return Value

    +

    AnyFlowRepresentable. Specifically a new instance from the static class passed to a Workflow

    +
  • diff --git a/docs/Protocols/FlowRepresentable.html b/docs/Protocols/FlowRepresentable.html index 3a3d984b1..63597a348 100644 --- a/docs/Protocols/FlowRepresentable.html +++ b/docs/Protocols/FlowRepresentable.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (20% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,16 +31,33 @@ Classes + + @@ -51,7 +68,7 @@

    FlowRepresentable

    -
    public protocol FlowRepresentable : AnyFlowRepresentable
    +
    public protocol FlowRepresentable : AnyFlowRepresentable
    diff --git a/docs/Protocols/Presenter.html b/docs/Protocols/Presenter.html index 5e32c113c..71f3002be 100644 --- a/docs/Protocols/Presenter.html +++ b/docs/Protocols/Presenter.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (7% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,22 +31,7 @@ Classes -
    @@ -117,7 +94,7 @@

    Presenter

    -

    Undocumented

    +

    ViewType: The type your presenter deals with (e.g. UIViewController)

    @@ -138,21 +115,13 @@

    Declaration

    launch(view:from:withLaunchStyle:)
    - - Default implementation -
    -

    Undocumented

    - -
    -

    Default Implementation

    -
    -

    Undocumented

    +

    launch: A method to let the presenter know it needs to present a view

    @@ -163,6 +132,49 @@

    Declaration

    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + view + + +
    +

    The view to show

    +
    +
    + + root + + +
    +

    The view that is currently visible

    +
    +
    + + launchStyle + + +
    +

    The preferred style to launch the view with see: PresentationType

    +
    +
    +
    diff --git a/docs/badge.svg b/docs/badge.svg index 244d8c439..7f42e924a 100644 --- a/docs/badge.svg +++ b/docs/badge.svg @@ -8,7 +8,7 @@ - + @@ -19,10 +19,10 @@ documentation - 20% + 45% - 20% + 45% diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes.html index d3cfde970..dc681c9d3 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (20% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,16 +31,33 @@ Classes + + @@ -53,6 +70,66 @@

    Classes

    +
    +
      +
    • +
      + + + + UIWorkflowItem + +
      +
      +
      +
      +
      +
      +

      UIWorkflowItem: A subclass of UIViewController designed for convenience. This does NOT have to be used, it simply removes some of the overhead that normally comes with a FlowRepresentable.

      +

      Examples:

      +
      class SomeFlowRepresentable: UIWorkflowItem<String> { //must take in a string, or will not load
      +    var name:String?
      +}
      +extension SomeFlowRepresentable: FlowRepresentable {
      +    func shouldLoad(with name:String) {
      +        self.name = name
      +        return true
      +    }
      +    static func instance() -> AnyFlowRepresentable {
      +        return SomeFlowRepresentable()
      +    }
      +}
      +
      +

      Discussion:

      + +

      If you would like the same convenience for other UIKit types this class is very straightforward to create:

      +
      open class UITableViewWorkflowItem<I>: UITableViewController {
      +    public var callback: ((Any?) -> Void)?
      +
      +    public typealias IntakeType = I
      +
      +    public weak var workflow: Workflow?
      +
      +    open var preferredLaunchStyle:PresentationType {
      +        return .default
      +    }
      +}
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      open class UIWorkflowItem<I> : UIViewController
      + +
      +
      +
      +
      +
    • +
    +
    • @@ -86,12 +163,13 @@

      Discussion:

      } + See more

    Declaration

    Swift

    -
    public class Workflow : LinkedList<AnyFlowRepresentable.Type>
    +
    public class Workflow : LinkedList<AnyFlowRepresentable.Type>
    diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes/Workflow.html b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes/Workflow.html index f17f2839d..eb5014a02 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes/Workflow.html +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Classes/Workflow.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (7% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,22 +31,7 @@ Classes -
      -
    • -
      - - - - firstLoadedInstance - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public var firstLoadedInstance: LinkedList<AnyFlowRepresentable?>.Node<AnyFlowRepresentable?>?
      - -
      -
      -
      -
      -
    • -
    • -
      - - - - applyPresenter(_:) - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func applyPresenter(_ presenter: AnyPresenter)
      - -
      -
      -
      -
      -
    • -
    • - -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      public func launch(from: Any?, with args: Any?, withLaunchStyle launchStyle: PresentationType = .default, onFinish: ((Any?) -> Void)? = nil) -> LinkedList<AnyFlowRepresentable?>.Node<AnyFlowRepresentable?>?
      - -
      -
      -
      -
      -
    • @@ -198,7 +107,12 @@

      Declaration

      -

      Undocumented

      +

      abandon: Called when the workflow should be terminated, and the app should return to the point before the workflow was launched

      +
      +

      Note

      + In order for this to function the workflow must have a presenter, presenters must call back to the workflow to inform when the abandon process has finished for the onFinish callback to be called. + +
      @@ -209,6 +123,41 @@

      Declaration

      +
      +

      Parameters

      + + + + + + + + + + + +
      + + animated + + +
      +

      A boolean indicating whether abandoning the workflow should be animated

      +
      +
      + + onFinish + + +
      +

      A callback after the workflow has been abandoned.

      +
      +
      +
      +
      +

      Return Value

      +

      Void

      +
    diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Enums.html index 756c2b7ce..84fd60122 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Enums.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (7% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,22 +31,7 @@ Classes -
    -

    Undocumented

    +

    PresentationType: An enum that indicates how FlowRepresentables should be presented

    +

    Discussion:

    + +

    Mostly used when you tell a workflow to launch, or on the FlowRepresentable protocol if you have a view that preferrs to be launched with a certain style

    @@ -117,7 +94,12 @@

    PresentationType

    -

    Undocumented

    +

    navigationStack: Indicates a FlowRepresentable should be launched in a navigation stack of some kind (For example with UIKit this would use a UINavigationController)

    +
    +

    Note

    + If no current navigation stack is available, one will be created + +
    @@ -144,7 +126,7 @@

    Declaration

    -

    Undocumented

    +

    modally: Indicates a FlowRepresentable should be launched modally

    @@ -171,7 +153,12 @@

    Declaration

    -

    Undocumented

    +

    default: Indicates a FlowRepresentable can be launched contextually

    +
    +

    Note

    + If there’s already a navigation stack, it will be used. Otherwise views will present modally + +
    diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols.html index 984a60332..a4709747b 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (20% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,16 +31,33 @@ Classes + + @@ -99,7 +116,74 @@

    Discussion:

    Declaration

    Swift

    -
    public protocol FlowRepresentable : AnyFlowRepresentable
    +
    public protocol FlowRepresentable : AnyFlowRepresentable
    + +
    +
    +
    +
    + + +
    +
    +
      +
    • +
      + + + + Presenter + +
      +
      +
      +
      +
      +
      +

      Presenter: Used in the event you want to create your own kind of presenter.

      +

      Discussion:

      + +

      Hopefully the framework takes care of this for you, however there may be situations where you need to create your own presenter. A presenter fundamentally is just an object a Workflow reports to. It gets told when to launch a view, and where to launch it from. It also gets told when to abandon a particular workflow back to the beginning.

      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public protocol Presenter : AnyPresenter
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    -

    Undocumented

    +

    AnyFlowRepresentable: A type erased version of ‘FlowRepresentable’. Generally speaking don’t use this directly, use FlowRepresentable instead.

    @@ -117,7 +91,7 @@

    AnyFlowRepresentable

    -

    Undocumented

    +

    preferredLaunchStyle: Gives the ability for a FlowRepresentable to describe how it best shows up. For example a view can claim it preferrs to be launched in a navigationStack

    @@ -144,68 +118,19 @@

    Declaration

    -

    Undocumented

    +

    workflow: Access to the Workflow controlling the FlowRepresentable. A common use case may be a FlowRepresentable that wants to abandon the Workflow it’s in.

    +
    +

    Note

    + While not strictly necessary it would be wise to declare this property as weak -
    -
    -

    Declaration

    -
    -

    Swift

    -
    var workflow: Workflow? { get set }
    - -
    -
    -
    -
    - -
  • -
    - - - - callback - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    var callback: ((Any?) -> Void)? { get set }
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    Undocumented

    +

    Declaration

    Swift

    -
    func erasedShouldLoad(with args: Any?) -> Bool
    +
    var workflow: Workflow? { get set }
    @@ -225,7 +150,12 @@

    Declaration

    -

    Undocumented

    +

    instance: A method to return an instance of the FlowRepresentable

    +
    +

    Note

    + This needs to return a unique instance of your view. Whether programmatic or from the storyboard is irrelevant + +
    @@ -236,6 +166,10 @@

    Declaration

    +
    +

    Return Value

    +

    AnyFlowRepresentable. Specifically a new instance from the static class passed to a Workflow

    +
  • diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/FlowRepresentable.html b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/FlowRepresentable.html index 3a3d984b1..63597a348 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/FlowRepresentable.html +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/FlowRepresentable.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (20% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,16 +31,33 @@ Classes + + @@ -51,7 +68,7 @@

    FlowRepresentable

    -
    public protocol FlowRepresentable : AnyFlowRepresentable
    +
    public protocol FlowRepresentable : AnyFlowRepresentable
    diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/Presenter.html b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/Presenter.html index 5e32c113c..71f3002be 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/Presenter.html +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/Protocols/Presenter.html @@ -14,7 +14,7 @@
    -

    DynamicWorkflow Docs (7% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -31,22 +31,7 @@ Classes -
    @@ -117,7 +94,7 @@

    Presenter

    -

    Undocumented

    +

    ViewType: The type your presenter deals with (e.g. UIViewController)

    @@ -138,21 +115,13 @@

    Declaration

    launch(view:from:withLaunchStyle:)
    - - Default implementation -
    -

    Undocumented

    - -
    -

    Default Implementation

    -
    -

    Undocumented

    +

    launch: A method to let the presenter know it needs to present a view

    @@ -163,6 +132,49 @@

    Declaration

    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + view + + +
    +

    The view to show

    +
    +
    + + root + + +
    +

    The view that is currently visible

    +
    +
    + + launchStyle + + +
    +

    The preferred style to launch the view with see: PresentationType

    +
    +
    +
    diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/badge.svg b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/badge.svg index 78e3ad1b2..1cb992fd0 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/badge.svg +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/badge.svg @@ -8,7 +8,7 @@ - + @@ -19,10 +19,10 @@ documentation - 13% + 40% - 13% + 40% diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/index.html b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/index.html index 6e3a3af25..720256c3b 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/index.html @@ -13,7 +13,7 @@
    -

    DynamicWorkflow Docs (20% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -30,16 +30,33 @@ Classes + + @@ -88,7 +105,7 @@

    The solution

    launchInto(workflow) -

    If you ever want to re-order these you simply move their position in the array. Your ViewControllers will be naturally start to become defined in a way where they can be injected into any kind of workflow and so if for scheduled orders you want screens to show up in a different order, you just define a new Workflow.

    +

    If you ever want to re-order these you simply move their position in the array. Your ViewControllers will be naturally start to become defined in a way where they can be injected into any kind of workflow and so if for scheduled orders you want screens to show up in a different order, you just define a new Workflow.

    diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/search.json b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/search.json index 207ac9629..010c63304 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10IntakeTypeQa":{"name":"IntakeType","abstract":"

    IntakeType: The data type required to be passed to your FlowRepresentable (use Any? if you don’t care)

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10shouldLoad4withSb10IntakeTypeQz_tF":{"name":"shouldLoad(with:)","abstract":"

    shouldLoad: A method indicating whether it makes sense for this view to load in a workflow

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html":{"name":"FlowRepresentable","abstract":"

    FlowRepresentable: A typed version of ‘AnyFlowRepresentable’. Use this on views that you want to add to a workflow.

    "},"Classes.html#/s:15DynamicWorkflow0B0C":{"name":"Workflow","abstract":"

    Workflow: A doubly linked list of AnyFlowRepresentable types. Can be used to create a user flow.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file +{"Protocols/AnyFlowRepresentable.html#/s:15DynamicWorkflow20AnyFlowRepresentableP20preferredLaunchStyleAA16PresentationTypeOvp":{"name":"preferredLaunchStyle","abstract":"

    preferredLaunchStyle: Gives the ability for a FlowRepresentable to describe how it best shows up. For example a view can claim it preferrs to be launched in a navigationStack

    ","parent_name":"AnyFlowRepresentable"},"Protocols/AnyFlowRepresentable.html#/s:15DynamicWorkflow20AnyFlowRepresentableP8workflowAA0B0CSgvp":{"name":"workflow","abstract":"

    workflow: Access to the Workflow controlling the FlowRepresentable. A common use case may be a FlowRepresentable that wants to abandon the Workflow it’s in.

    ","parent_name":"AnyFlowRepresentable"},"Protocols/AnyFlowRepresentable.html#/s:15DynamicWorkflow20AnyFlowRepresentableP8instanceAaB_pyFZ":{"name":"instance()","abstract":"

    instance: A method to return an instance of the FlowRepresentable

    ","parent_name":"AnyFlowRepresentable"},"Protocols/Presenter.html#/s:15DynamicWorkflow9PresenterP8ViewTypeQa":{"name":"ViewType","abstract":"

    ViewType: The type your presenter deals with (e.g. UIViewController)

    ","parent_name":"Presenter"},"Protocols/Presenter.html#/s:15DynamicWorkflow9PresenterP6launch4view4from15withLaunchStyley8ViewTypeQz_AiA012PresentationK0OtF":{"name":"launch(view:from:withLaunchStyle:)","abstract":"

    launch: A method to let the presenter know it needs to present a view

    ","parent_name":"Presenter"},"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10IntakeTypeQa":{"name":"IntakeType","abstract":"

    IntakeType: The data type required to be passed to your FlowRepresentable (use Any? if you don’t care)

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10shouldLoad4withSb10IntakeTypeQz_tF":{"name":"shouldLoad(with:)","abstract":"

    shouldLoad: A method indicating whether it makes sense for this view to load in a workflow

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html":{"name":"FlowRepresentable","abstract":"

    FlowRepresentable: A typed version of ‘AnyFlowRepresentable’. Use this on views that you want to add to a workflow.

    "},"Protocols/Presenter.html":{"name":"Presenter","abstract":"

    Presenter: Used in the event you want to create your own kind of presenter.

    "},"Protocols/AnyFlowRepresentable.html":{"name":"AnyFlowRepresentable","abstract":"

    AnyFlowRepresentable: A type erased version of ‘FlowRepresentable’. Generally speaking don’t use this directly, use FlowRepresentable instead.

    "},"Enums/PresentationType.html#/s:15DynamicWorkflow16PresentationTypeO15navigationStackyA2CmF":{"name":"navigationStack","abstract":"

    navigationStack: Indicates a FlowRepresentable should be launched in a navigation stack of some kind (For example with UIKit this would use a UINavigationController)

    ","parent_name":"PresentationType"},"Enums/PresentationType.html#/s:15DynamicWorkflow16PresentationTypeO7modallyyA2CmF":{"name":"modally","abstract":"

    modally: Indicates a FlowRepresentable should be launched modally

    ","parent_name":"PresentationType"},"Enums/PresentationType.html#/s:15DynamicWorkflow16PresentationTypeO7defaultyA2CmF":{"name":"default","abstract":"

    default: Indicates a FlowRepresentable can be launched contextually

    ","parent_name":"PresentationType"},"Enums/PresentationType.html":{"name":"PresentationType","abstract":"

    PresentationType: An enum that indicates how FlowRepresentables should be presented

    "},"Classes/Workflow.html#/s:15DynamicWorkflow0B0C7abandon8animated8onFinishySb_yycSgtF":{"name":"abandon(animated:onFinish:)","abstract":"

    abandon: Called when the workflow should be terminated, and the app should return to the point before the workflow was launched

    ","parent_name":"Workflow"},"Classes.html#/s:15DynamicWorkflow14UIWorkflowItemC":{"name":"UIWorkflowItem","abstract":"

    UIWorkflowItem: A subclass of UIViewController designed for convenience. This does NOT have to be used, it simply removes some of the overhead that normally comes with a FlowRepresentable.

    "},"Classes/Workflow.html":{"name":"Workflow","abstract":"

    Workflow: A doubly linked list of AnyFlowRepresentable types. Can be used to create a user flow.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/undocumented.json b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/undocumented.json index 76e1ee6b4..f97ce12ec 100644 --- a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/undocumented.json +++ b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/Documents/undocumented.json @@ -56,60 +56,53 @@ "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, - { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Models/PresentationType.swift", - "line": 10, - "symbol": "PresentationType", - "symbol_kind": "source.lang.swift.decl.enum", - "warning": "undocumented" - }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/FlowRepresentable.swift", - "line": 41, - "symbol": "FlowRepresentable.IntakeType", - "symbol_kind": "source.lang.swift.decl.associatedtype", + "line": 51, + "symbol": "FlowRepresentable.erasedShouldLoad(with:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/FlowRepresentable.swift", - "line": 43, - "symbol": "FlowRepresentable.shouldLoad(with:)", + "line": 56, + "symbol": "FlowRepresentable.proceedInWorkflow(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/FlowRepresentable.swift", - "line": 47, - "symbol": "FlowRepresentable.erasedShouldLoad(with:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/Presenter.swift", + "line": 19, + "symbol": "Presenter.ViewType", + "symbol_kind": "source.lang.swift.decl.associatedtype", "warning": "undocumented" }, { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/FlowRepresentable.swift", - "line": 52, - "symbol": "FlowRepresentable.proceedInWorkflow(_:)", + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/Presenter.swift", + "line": 20, + "symbol": "Presenter.launch(view:from:withLaunchStyle:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/Presenter.swift", - "line": 11, - "symbol": "Presenter", - "symbol_kind": "source.lang.swift.decl.protocol", + "line": 24, + "symbol": "Presenter.launch(view:from:withLaunchStyle:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/Presenter.swift", - "line": 16, - "symbol": "Presenter", - "symbol_kind": "source.lang.swift.decl.extension", + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift", + "line": 20, + "symbol": "AnyFlowRepresentable.callback", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift", - "line": 10, - "symbol": "AnyFlowRepresentable", - "symbol_kind": "source.lang.swift.decl.protocol", + "line": 22, + "symbol": "AnyFlowRepresentable.erasedShouldLoad(with:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { @@ -142,9 +135,30 @@ }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", - "line": 12, - "symbol": "UIWorkflowItem", - "symbol_kind": "source.lang.swift.decl.class", + "line": 49, + "symbol": "UIWorkflowItem.callback", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", + "line": 51, + "symbol": "UIWorkflowItem.IntakeType", + "symbol_kind": "source.lang.swift.decl.typealias", + "warning": "undocumented" + }, + { + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", + "line": 53, + "symbol": "UIWorkflowItem.workflow", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", + "line": 55, + "symbol": "UIWorkflowItem.preferredLaunchStyle", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { @@ -167,13 +181,6 @@ "symbol": "Workflow.launch(from:with:withLaunchStyle:onFinish:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" - }, - { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Workflow.swift", - "line": 89, - "symbol": "Workflow.abandon(animated:onFinish:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" } ], "source_directory": "/Users/tyler.thompson/workspace/Workflow" diff --git a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/docSet.dsidx b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/docSet.dsidx index 534732846..f5ed232b4 100644 Binary files a/docs/docsets/DynamicWorkflow.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/DynamicWorkflow.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/DynamicWorkflow.tgz b/docs/docsets/DynamicWorkflow.tgz index a114b65bb..802b45cc3 100644 Binary files a/docs/docsets/DynamicWorkflow.tgz and b/docs/docsets/DynamicWorkflow.tgz differ diff --git a/docs/index.html b/docs/index.html index 6e3a3af25..720256c3b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@
    -

    DynamicWorkflow Docs (20% documented)

    +

    DynamicWorkflow Docs (45% documented)

    @@ -30,16 +30,33 @@ Classes + + @@ -88,7 +105,7 @@

    The solution

    launchInto(workflow) -

    If you ever want to re-order these you simply move their position in the array. Your ViewControllers will be naturally start to become defined in a way where they can be injected into any kind of workflow and so if for scheduled orders you want screens to show up in a different order, you just define a new Workflow.

    +

    If you ever want to re-order these you simply move their position in the array. Your ViewControllers will be naturally start to become defined in a way where they can be injected into any kind of workflow and so if for scheduled orders you want screens to show up in a different order, you just define a new Workflow.

    diff --git a/docs/search.json b/docs/search.json index 207ac9629..010c63304 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10IntakeTypeQa":{"name":"IntakeType","abstract":"

    IntakeType: The data type required to be passed to your FlowRepresentable (use Any? if you don’t care)

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10shouldLoad4withSb10IntakeTypeQz_tF":{"name":"shouldLoad(with:)","abstract":"

    shouldLoad: A method indicating whether it makes sense for this view to load in a workflow

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html":{"name":"FlowRepresentable","abstract":"

    FlowRepresentable: A typed version of ‘AnyFlowRepresentable’. Use this on views that you want to add to a workflow.

    "},"Classes.html#/s:15DynamicWorkflow0B0C":{"name":"Workflow","abstract":"

    Workflow: A doubly linked list of AnyFlowRepresentable types. Can be used to create a user flow.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file +{"Protocols/AnyFlowRepresentable.html#/s:15DynamicWorkflow20AnyFlowRepresentableP20preferredLaunchStyleAA16PresentationTypeOvp":{"name":"preferredLaunchStyle","abstract":"

    preferredLaunchStyle: Gives the ability for a FlowRepresentable to describe how it best shows up. For example a view can claim it preferrs to be launched in a navigationStack

    ","parent_name":"AnyFlowRepresentable"},"Protocols/AnyFlowRepresentable.html#/s:15DynamicWorkflow20AnyFlowRepresentableP8workflowAA0B0CSgvp":{"name":"workflow","abstract":"

    workflow: Access to the Workflow controlling the FlowRepresentable. A common use case may be a FlowRepresentable that wants to abandon the Workflow it’s in.

    ","parent_name":"AnyFlowRepresentable"},"Protocols/AnyFlowRepresentable.html#/s:15DynamicWorkflow20AnyFlowRepresentableP8instanceAaB_pyFZ":{"name":"instance()","abstract":"

    instance: A method to return an instance of the FlowRepresentable

    ","parent_name":"AnyFlowRepresentable"},"Protocols/Presenter.html#/s:15DynamicWorkflow9PresenterP8ViewTypeQa":{"name":"ViewType","abstract":"

    ViewType: The type your presenter deals with (e.g. UIViewController)

    ","parent_name":"Presenter"},"Protocols/Presenter.html#/s:15DynamicWorkflow9PresenterP6launch4view4from15withLaunchStyley8ViewTypeQz_AiA012PresentationK0OtF":{"name":"launch(view:from:withLaunchStyle:)","abstract":"

    launch: A method to let the presenter know it needs to present a view

    ","parent_name":"Presenter"},"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10IntakeTypeQa":{"name":"IntakeType","abstract":"

    IntakeType: The data type required to be passed to your FlowRepresentable (use Any? if you don’t care)

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html#/s:15DynamicWorkflow17FlowRepresentableP10shouldLoad4withSb10IntakeTypeQz_tF":{"name":"shouldLoad(with:)","abstract":"

    shouldLoad: A method indicating whether it makes sense for this view to load in a workflow

    ","parent_name":"FlowRepresentable"},"Protocols/FlowRepresentable.html":{"name":"FlowRepresentable","abstract":"

    FlowRepresentable: A typed version of ‘AnyFlowRepresentable’. Use this on views that you want to add to a workflow.

    "},"Protocols/Presenter.html":{"name":"Presenter","abstract":"

    Presenter: Used in the event you want to create your own kind of presenter.

    "},"Protocols/AnyFlowRepresentable.html":{"name":"AnyFlowRepresentable","abstract":"

    AnyFlowRepresentable: A type erased version of ‘FlowRepresentable’. Generally speaking don’t use this directly, use FlowRepresentable instead.

    "},"Enums/PresentationType.html#/s:15DynamicWorkflow16PresentationTypeO15navigationStackyA2CmF":{"name":"navigationStack","abstract":"

    navigationStack: Indicates a FlowRepresentable should be launched in a navigation stack of some kind (For example with UIKit this would use a UINavigationController)

    ","parent_name":"PresentationType"},"Enums/PresentationType.html#/s:15DynamicWorkflow16PresentationTypeO7modallyyA2CmF":{"name":"modally","abstract":"

    modally: Indicates a FlowRepresentable should be launched modally

    ","parent_name":"PresentationType"},"Enums/PresentationType.html#/s:15DynamicWorkflow16PresentationTypeO7defaultyA2CmF":{"name":"default","abstract":"

    default: Indicates a FlowRepresentable can be launched contextually

    ","parent_name":"PresentationType"},"Enums/PresentationType.html":{"name":"PresentationType","abstract":"

    PresentationType: An enum that indicates how FlowRepresentables should be presented

    "},"Classes/Workflow.html#/s:15DynamicWorkflow0B0C7abandon8animated8onFinishySb_yycSgtF":{"name":"abandon(animated:onFinish:)","abstract":"

    abandon: Called when the workflow should be terminated, and the app should return to the point before the workflow was launched

    ","parent_name":"Workflow"},"Classes.html#/s:15DynamicWorkflow14UIWorkflowItemC":{"name":"UIWorkflowItem","abstract":"

    UIWorkflowItem: A subclass of UIViewController designed for convenience. This does NOT have to be used, it simply removes some of the overhead that normally comes with a FlowRepresentable.

    "},"Classes/Workflow.html":{"name":"Workflow","abstract":"

    Workflow: A doubly linked list of AnyFlowRepresentable types. Can be used to create a user flow.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index c02246999..8c9d3a8bd 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -56,13 +56,6 @@ "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, - { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Models/PresentationType.swift", - "line": 10, - "symbol": "PresentationType", - "symbol_kind": "source.lang.swift.decl.enum", - "warning": "undocumented" - }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/FlowRepresentable.swift", "line": 51, @@ -79,23 +72,23 @@ }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/Presenter.swift", - "line": 11, - "symbol": "Presenter", - "symbol_kind": "source.lang.swift.decl.protocol", + "line": 29, + "symbol": "Presenter.launch(view:from:withLaunchStyle:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/Presenter.swift", - "line": 16, - "symbol": "Presenter", - "symbol_kind": "source.lang.swift.decl.extension", + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift", + "line": 20, + "symbol": "AnyFlowRepresentable.callback", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Protocols/TypeErased/AnyFlowRepresentable.swift", - "line": 10, - "symbol": "AnyFlowRepresentable", - "symbol_kind": "source.lang.swift.decl.protocol", + "line": 22, + "symbol": "AnyFlowRepresentable.erasedShouldLoad(with:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { @@ -128,9 +121,30 @@ }, { "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", - "line": 12, - "symbol": "UIWorkflowItem", - "symbol_kind": "source.lang.swift.decl.class", + "line": 49, + "symbol": "UIWorkflowItem.callback", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", + "line": 51, + "symbol": "UIWorkflowItem.IntakeType", + "symbol_kind": "source.lang.swift.decl.typealias", + "warning": "undocumented" + }, + { + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", + "line": 53, + "symbol": "UIWorkflowItem.workflow", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/UIKitPresenter/UIWorkflowItem.swift", + "line": 55, + "symbol": "UIWorkflowItem.preferredLaunchStyle", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { @@ -153,13 +167,6 @@ "symbol": "Workflow.launch(from:with:withLaunchStyle:onFinish:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" - }, - { - "file": "/Users/tyler.thompson/workspace/Workflow/Workflow/Workflow.swift", - "line": 89, - "symbol": "Workflow.abandon(animated:onFinish:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" } ], "source_directory": "/Users/tyler.thompson/workspace/Workflow"