From 1087dbe8b04831b926fe9ca36c0eb6115daa9cc7 Mon Sep 17 00:00:00 2001 From: Raul Riera Date: Mon, 14 May 2018 13:45:35 -0400 Subject: [PATCH 1/3] Support for documentation folder --- docs/Classes.html | 403 +++ docs/Classes/CollectionCell.html | 360 +++ docs/Classes/FunctionalCollectionData.html | 1946 ++++++++++++++ .../FunctionalCollectionData/KeyPath.html | 335 +++ docs/Classes/FunctionalTableData.html | 2364 +++++++++++++++++ .../FunctionalTableData/Exception.html | 414 +++ docs/Classes/FunctionalTableData/KeyPath.html | 309 +++ .../FunctionalTableData/TableAnimations.html | 307 +++ .../TableAnimations/Actions.html | 306 +++ docs/Classes/Separator.html | 443 +++ docs/Classes/Separator/Style.html | 333 +++ docs/Classes/Separator/Tag.html | 279 ++ docs/Classes/TableCell.html | 387 +++ docs/Classes/TableHeaderFooter.html | 360 +++ docs/Enums.html | 275 ++ docs/Enums/EdgeLayout.html | 281 ++ docs/Enums/EdgeLayout/Horizontal.html | 252 ++ docs/Enums/EdgeLayout/Vertical.html | 252 ++ docs/Enums/MarginsLayout.html | 281 ++ docs/Enums/MarginsLayout/Horizontal.html | 252 ++ docs/Enums/MarginsLayout/Vertical.html | 252 ++ docs/Extensions.html | 339 +++ docs/Extensions/NSException.html | 251 ++ docs/Extensions/UICollectionView.html | 407 +++ docs/Extensions/UITableView.html | 479 ++++ docs/Extensions/UIView.html | 305 +++ docs/Protocols.html | 514 ++++ docs/Protocols/CellConfigType.html | 507 ++++ docs/Protocols/CollectionItemConfigType.html | 287 ++ .../FunctionalTableDataExceptionHandler.html | 272 ++ docs/Protocols/Reusable.html | 259 ++ .../TableHeaderFooterConfigType.html | 279 ++ .../Protocols/TableHeaderFooterStateType.html | 333 +++ docs/Protocols/TableItemConfigType.html | 287 ++ docs/Protocols/TableItemLayout.html | 252 ++ docs/Protocols/TableSectionType.html | 416 +++ docs/Structs.html | 503 ++++ docs/Structs/CellActions.html | 774 ++++++ docs/Structs/CellActions/SelectionState.html | 279 ++ docs/Structs/CellStyle.html | 616 +++++ docs/Structs/CombinedLayout.html | 252 ++ .../ExplicitLayoutMarginsTableItemLayout.html | 252 ++ docs/Structs/HostCell.html | 813 ++++++ docs/Structs/SectionStyle.html | 333 +++ docs/Structs/SectionStyle/Separators.html | 440 +++ docs/Structs/TableSection.html | 673 +++++ docs/Structs/TableSectionChangeSet.html | 306 +++ docs/Structs/TableSectionHeaderFooter.html | 387 +++ docs/Typealiases.html | 311 +++ docs/badge.svg | 28 + docs/css/highlight.css | 200 ++ docs/css/jazzy.css | 337 +++ docs/docsets/.docset/Contents/Info.plist | 20 + .../Contents/Resources/Documents/Classes.html | 403 +++ .../Documents/Classes/CollectionCell.html | 360 +++ .../Classes/FunctionalCollectionData.html | 1946 ++++++++++++++ .../FunctionalCollectionData/KeyPath.html | 335 +++ .../Classes/FunctionalTableData.html | 2364 +++++++++++++++++ .../FunctionalTableData/Exception.html | 414 +++ .../Classes/FunctionalTableData/KeyPath.html | 309 +++ .../FunctionalTableData/TableAnimations.html | 307 +++ .../TableAnimations/Actions.html | 306 +++ .../Documents/Classes/Separator.html | 443 +++ .../Documents/Classes/Separator/Style.html | 333 +++ .../Documents/Classes/Separator/Tag.html | 279 ++ .../Documents/Classes/TableCell.html | 387 +++ .../Documents/Classes/TableHeaderFooter.html | 360 +++ .../Contents/Resources/Documents/Enums.html | 275 ++ .../Resources/Documents/Enums/EdgeLayout.html | 281 ++ .../Enums/EdgeLayout/Horizontal.html | 252 ++ .../Documents/Enums/EdgeLayout/Vertical.html | 252 ++ .../Documents/Enums/MarginsLayout.html | 281 ++ .../Enums/MarginsLayout/Horizontal.html | 252 ++ .../Enums/MarginsLayout/Vertical.html | 252 ++ .../Resources/Documents/Extensions.html | 339 +++ .../Documents/Extensions/NSException.html | 251 ++ .../Extensions/UICollectionView.html | 407 +++ .../Documents/Extensions/UITableView.html | 479 ++++ .../Documents/Extensions/UIView.html | 305 +++ .../Resources/Documents/Protocols.html | 514 ++++ .../Documents/Protocols/CellConfigType.html | 507 ++++ .../Protocols/CollectionItemConfigType.html | 287 ++ .../FunctionalTableDataExceptionHandler.html | 272 ++ .../Documents/Protocols/Reusable.html | 259 ++ .../TableHeaderFooterConfigType.html | 279 ++ .../Protocols/TableHeaderFooterStateType.html | 333 +++ .../Protocols/TableItemConfigType.html | 287 ++ .../Documents/Protocols/TableItemLayout.html | 252 ++ .../Documents/Protocols/TableSectionType.html | 416 +++ .../Contents/Resources/Documents/Structs.html | 503 ++++ .../Documents/Structs/CellActions.html | 774 ++++++ .../Structs/CellActions/SelectionState.html | 279 ++ .../Documents/Structs/CellStyle.html | 616 +++++ .../Documents/Structs/CombinedLayout.html | 252 ++ .../ExplicitLayoutMarginsTableItemLayout.html | 252 ++ .../Resources/Documents/Structs/HostCell.html | 813 ++++++ .../Documents/Structs/SectionStyle.html | 333 +++ .../Structs/SectionStyle/Separators.html | 440 +++ .../Documents/Structs/TableSection.html | 673 +++++ .../Structs/TableSectionChangeSet.html | 306 +++ .../Structs/TableSectionHeaderFooter.html | 387 +++ .../Resources/Documents/Typealiases.html | 311 +++ .../Resources/Documents/css/highlight.css | 200 ++ .../Resources/Documents/css/jazzy.css | 337 +++ .../Resources/Documents/img/carat.png | Bin 0 -> 274 bytes .../Contents/Resources/Documents/img/dash.png | Bin 0 -> 1338 bytes .../Contents/Resources/Documents/img/gh.png | Bin 0 -> 1571 bytes .../Contents/Resources/Documents/index.html | 343 +++ .../Contents/Resources/Documents/js/jazzy.js | 46 + .../Resources/Documents/js/jquery.min.js | 4 + .../Contents/Resources/Documents/search.json | 1 + .../.docset/Contents/Resources/docSet.dsidx | Bin 0 -> 122880 bytes docs/docsets/.tgz | Bin 0 -> 124056 bytes docs/img/carat.png | Bin 0 -> 274 bytes docs/img/dash.png | Bin 0 -> 1338 bytes docs/img/gh.png | Bin 0 -> 1571 bytes docs/index.html | 343 +++ docs/js/jazzy.js | 46 + docs/js/jquery.min.js | 4 + docs/search.json | 1 + 120 files changed, 44944 insertions(+) create mode 100644 docs/Classes.html create mode 100644 docs/Classes/CollectionCell.html create mode 100644 docs/Classes/FunctionalCollectionData.html create mode 100644 docs/Classes/FunctionalCollectionData/KeyPath.html create mode 100644 docs/Classes/FunctionalTableData.html create mode 100644 docs/Classes/FunctionalTableData/Exception.html create mode 100644 docs/Classes/FunctionalTableData/KeyPath.html create mode 100644 docs/Classes/FunctionalTableData/TableAnimations.html create mode 100644 docs/Classes/FunctionalTableData/TableAnimations/Actions.html create mode 100644 docs/Classes/Separator.html create mode 100644 docs/Classes/Separator/Style.html create mode 100644 docs/Classes/Separator/Tag.html create mode 100644 docs/Classes/TableCell.html create mode 100644 docs/Classes/TableHeaderFooter.html create mode 100644 docs/Enums.html create mode 100644 docs/Enums/EdgeLayout.html create mode 100644 docs/Enums/EdgeLayout/Horizontal.html create mode 100644 docs/Enums/EdgeLayout/Vertical.html create mode 100644 docs/Enums/MarginsLayout.html create mode 100644 docs/Enums/MarginsLayout/Horizontal.html create mode 100644 docs/Enums/MarginsLayout/Vertical.html create mode 100644 docs/Extensions.html create mode 100644 docs/Extensions/NSException.html create mode 100644 docs/Extensions/UICollectionView.html create mode 100644 docs/Extensions/UITableView.html create mode 100644 docs/Extensions/UIView.html create mode 100644 docs/Protocols.html create mode 100644 docs/Protocols/CellConfigType.html create mode 100644 docs/Protocols/CollectionItemConfigType.html create mode 100644 docs/Protocols/FunctionalTableDataExceptionHandler.html create mode 100644 docs/Protocols/Reusable.html create mode 100644 docs/Protocols/TableHeaderFooterConfigType.html create mode 100644 docs/Protocols/TableHeaderFooterStateType.html create mode 100644 docs/Protocols/TableItemConfigType.html create mode 100644 docs/Protocols/TableItemLayout.html create mode 100644 docs/Protocols/TableSectionType.html create mode 100644 docs/Structs.html create mode 100644 docs/Structs/CellActions.html create mode 100644 docs/Structs/CellActions/SelectionState.html create mode 100644 docs/Structs/CellStyle.html create mode 100644 docs/Structs/CombinedLayout.html create mode 100644 docs/Structs/ExplicitLayoutMarginsTableItemLayout.html create mode 100644 docs/Structs/HostCell.html create mode 100644 docs/Structs/SectionStyle.html create mode 100644 docs/Structs/SectionStyle/Separators.html create mode 100644 docs/Structs/TableSection.html create mode 100644 docs/Structs/TableSectionChangeSet.html create mode 100644 docs/Structs/TableSectionHeaderFooter.html create mode 100644 docs/Typealiases.html create mode 100644 docs/badge.svg create mode 100644 docs/css/highlight.css create mode 100644 docs/css/jazzy.css create mode 100644 docs/docsets/.docset/Contents/Info.plist create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/CollectionCell.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/Exception.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations/Actions.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Style.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Tag.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/TableCell.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Classes/TableHeaderFooter.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Horizontal.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Vertical.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Horizontal.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Vertical.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Extensions.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Extensions/NSException.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/CollectionItemConfigType.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterConfigType.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterStateType.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemConfigType.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemLayout.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions/SelectionState.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/CombinedLayout.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/ExplicitLayoutMarginsTableItemLayout.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle/Separators.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionChangeSet.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionHeaderFooter.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/img/dash.png create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/img/gh.png create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/index.html create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js create mode 100755 docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/search.json create mode 100644 docs/docsets/.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/docsets/.tgz create mode 100755 docs/img/carat.png create mode 100755 docs/img/dash.png create mode 100755 docs/img/gh.png create mode 100644 docs/index.html create mode 100755 docs/js/jazzy.js create mode 100755 docs/js/jquery.min.js create mode 100644 docs/search.json diff --git a/docs/Classes.html b/docs/Classes.html new file mode 100644 index 0000000..19e5903 --- /dev/null +++ b/docs/Classes.html @@ -0,0 +1,403 @@ + + + + Classes Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Classes

+

The following classes are available globally.

+ +
+
+
+
    +
  • +
    + + + + CollectionCell + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CollectionCell<ViewType, Layout> : UICollectionViewCell where ViewType : UIView, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FunctionalCollectionData : NSObject
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + Separator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class Separator : UIView
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + FunctionalTableData + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FunctionalTableData : NSObject
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableCell + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class TableCell<ViewType, Layout> : UITableViewCell where ViewType : UIView, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TableHeaderFooter + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class TableHeaderFooter<ViewType, Layout> : UITableViewHeaderFooterView where ViewType : UIView, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/CollectionCell.html b/docs/Classes/CollectionCell.html new file mode 100644 index 0000000..08570ec --- /dev/null +++ b/docs/Classes/CollectionCell.html @@ -0,0 +1,360 @@ + + + + CollectionCell Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CollectionCell

+
+
+
public class CollectionCell<ViewType, Layout> : UICollectionViewCell where ViewType : UIView, Layout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + view + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let view: ViewType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepare + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var prepare: ((ViewType) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    required public init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepareForReuse() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override func prepareForReuse()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/FunctionalCollectionData.html b/docs/Classes/FunctionalCollectionData.html new file mode 100644 index 0000000..806c7b2 --- /dev/null +++ b/docs/Classes/FunctionalCollectionData.html @@ -0,0 +1,1946 @@ + + + + FunctionalCollectionData Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

FunctionalCollectionData

+
+
+
public class FunctionalCollectionData : NSObject
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + exceptionHandler + +
    +
    +
    +
    +
    +
    +

    Specifies the desired exception handling behaviour.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var exceptionHandler: FunctionalTableDataExceptionHandler?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + KeyPath + +
    +
    +
    +
    +
    +
    +

    Represents the unique path to a given item in the FunctionalCollectionData.

    + +

    Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct KeyPath : Equatable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Index path for the previously selected row.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var indexPathForPreviouslySelectedRow: IndexPath?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + collectionView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var collectionView: UICollectionView? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public subscript(indexPath: IndexPath) -> CellConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isRendering + +
    +
    +
    +
    +
    +
    +

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isRendering: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil, fileName: String = #file, lineNumber: Int = #line)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowForKeyPath(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the cell identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func rowForKeyPath(_ keyPath: KeyPath) -> CellConfigType?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying the cell to look up.

    +
    +
    +
    +
    +

    Return Value

    +

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    +
    +
    +
    +
  • +
  • +
    + + + + keyPathForRowKey(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the key path specified by its string presentation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForRowKey(_ key: String) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    String identifier to lookup.

    +
    +
    +
    +
    +

    Return Value

    +

    A KeyPath that matches the key or nil if there is no match.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the key path of the cell in a given IndexPath location.

    + +

    Note: This method performs an unsafe lookup, make sure that the IndexPath exists +before trying to transform it into a KeyPath.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForIndexPath(indexPath: IndexPath) -> KeyPath
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + indexPath + + +
    +

    A key path identifying where the key path is located.

    +
    +
    +
    +
    +

    Return Value

    +

    The key representation of the supplied IndexPath.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @available(*, deprecated, message: "Call `scroll(to:animated:scrollPosition:﹚` in the completion handler instead.")
    +public func renderAndDiff(_ newSections: [TableSection], keyPath: KeyPath?, animated: Bool = true, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the collection with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + keyPath + + +
    +

    The key path identifying which cell to scroll into view after the render occurs.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the collection cells, or false if the UICollectionView should be updated with no animation.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UICollectionView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func renderAndDiff(_ newSections: [TableSection], animated: Bool = true, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the collection with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the collection cells, or false if the UICollectionView should be updated with no animation.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UICollectionView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Selects a row in the collection view identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func select(keyPath: KeyPath, animated: Bool = true, scrollPosition: UICollectionViewScrollPosition = [], triggerDelegate: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the collection view.

    +
    +
    + + animated + + +
    +

    true if you want to animate the selection, and false if the change should be immediate.

    +
    +
    + + scrollPosition + + +
    +

    An option that specifies where the item should be positioned when scrolling finishes.

    +
    +
    + + triggerDelegate + + +
    +

    true to trigger the collection:didSelectItemAt: delegate from UICollectionView or false to skip it. Skipping it is the default UICollectionView behavior.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Scrolls to the item at the specified key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scroll(to keyPath: KeyPath, animated: Bool = true, scrollPosition: UICollectionViewScrollPosition = [.bottom, .right])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the collection view.

    +
    +
    + + animated + + +
    +

    true to animate to the new scroll position, or false to scroll immediately.

    +
    +
    + + scrollPosition + + +
    +

    Specifies where the item specified by keyPath should be positioned once scrolling finishes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + keyPath(at:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPath(at point: CGPoint) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + point + + +
    +

    The point in the collection view’s bounds that you want to test.

    +
    +
    +
    +
    +

    Return Value

    +

    the keypath of the item at the specified point, or nil if no item was found at that point.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPathFromKeyPath(_ keyPath: KeyPath) -> IndexPath?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + numberOfSections(in:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func numberOfSections(in collectionView: UICollectionView) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, moveItemAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, shouldHighlightItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, shouldShowMenuForItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, canPerformAction action: Selector, forItemAt indexPath: IndexPath, withSender sender: Any?) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, performAction action: Selector, forItemAt indexPath: IndexPath, withSender sender: Any?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, canMoveItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, targetIndexPathForMoveFromItemAt originalIndexPath: IndexPath, toProposedIndexPath proposedIndexPath: IndexPath) -> IndexPath
    + +
    +
    +
    +
    +
  • +
+
+
+ +
    +
  • + +
    +
    +
    +
    +
    +

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol +but will still get called on delegates that implement it. Because it is not publicly exposed, +the Swift 4 compiler will not automatically annotate it as @objc, requiring this manual annotation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +public func scrollViewDidChangeContentSize(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScroll(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDragging(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScrollToTop(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/FunctionalCollectionData/KeyPath.html b/docs/Classes/FunctionalCollectionData/KeyPath.html new file mode 100644 index 0000000..4d5753b --- /dev/null +++ b/docs/Classes/FunctionalCollectionData/KeyPath.html @@ -0,0 +1,335 @@ + + + + KeyPath Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

KeyPath

+
+
+
public struct KeyPath : Equatable
+ +
+
+

Represents the unique path to a given item in the FunctionalCollectionData.

+ +

Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

+ +
+
+
+
    +
  • +
    + + + + sectionKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let sectionKey: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for an item inside a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rowKey: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(sectionKey: String, rowKey: String)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: KeyPath, rhs: KeyPath) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/FunctionalTableData.html b/docs/Classes/FunctionalTableData.html new file mode 100644 index 0000000..bc62566 --- /dev/null +++ b/docs/Classes/FunctionalTableData.html @@ -0,0 +1,2364 @@ + + + + FunctionalTableData Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

FunctionalTableData

+
+
+
public class FunctionalTableData : NSObject
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + Exception + +
    +
    +
    +
    +
    +
    +

    A type that provides the information about an exception.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct Exception
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + exceptionHandler + +
    +
    +
    +
    +
    +
    +

    Specifies the desired exception handling behaviour.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var exceptionHandler: FunctionalTableDataExceptionHandler?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + KeyPath + +
    +
    +
    +
    +
    +
    +

    Represents the unique path to a given item in the FunctionalTableData.

    + +

    Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct KeyPath
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tableView + +
    +
    +
    +
    +
    +
    +

    Enclosing UITableView that presents all the TableSection data.

    + +

    FunctionalTableData will take care of setting its own UITableViewDelegate and +UITableViewDataSource and manage all the internals of the UITableView on its own.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var tableView: UITableView? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public subscript(indexPath: IndexPath) -> CellConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TableAnimations + +
    +
    +
    +
    +
    +
    +

    The type of animation when rows and sections are inserted or deleted.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableAnimations
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isRendering + +
    +
    +
    +
    +
    +
    +

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isRendering: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil, fileName: String = #file, lineNumber: Int = #line)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowForKeyPath(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the cell identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func rowForKeyPath(_ keyPath: KeyPath) -> CellConfigType?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying the cell to look up.

    +
    +
    +
    +
    +

    Return Value

    +

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    +
    +
    +
    +
  • +
  • +
    + + + + keyPathForRowKey(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the key path specified by its string presentation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForRowKey(_ key: String) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    String identifier to lookup.

    +
    +
    +
    +
    +

    Return Value

    +

    A KeyPath that matches the key or nil if there is no match.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the key path of the cell in a given IndexPath location.

    + +

    Note: This method performs an unsafe lookup, make sure that the IndexPath exists +before trying to transform it into a KeyPath.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForIndexPath(indexPath: IndexPath) -> KeyPath
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + indexPath + + +
    +

    A key path identifying where the key path is located.

    +
    +
    +
    +
    +

    Return Value

    +

    The key representation of the supplied IndexPath.

    +
    +
    +
    +
  • +
  • +
    + + + + rectForKeyPath(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the drawing area for a row identified by key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func rectForKeyPath(_ keyPath: KeyPath) -> CGRect?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying the cell to look up.

    +
    +
    +
    +
    +

    Return Value

    +

    A rectangle defining the area in which the table view draws the row or nil if the key path is invalid.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func renderAndDiff(_ newSections: [TableSection], keyPath: KeyPath? = nil, reloadList: Bool, animated: Bool = true, animations: TableAnimations = .default, completion: (() -> Void)? = nil)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @available(*, deprecated, message: "Call `scroll(to:animated:scrollPosition:﹚` in the completion handler instead.")
    +public func renderAndDiff(_ newSections: [TableSection], keyPath: KeyPath?, animated: Bool = true, animations: TableAnimations = .default, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the table with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + keyPath + + +
    +

    The key path identifying which cell to scroll into view after the render occurs.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the table cells, or false if the UITableView should be updated with no animation.

    +
    +
    + + animations + + +
    +

    Type of animation to perform. See FunctionalTableData.TableAnimations for more info.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UITableView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func renderAndDiff(_ newSections: [TableSection], animated: Bool = true, animations: TableAnimations = .default, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the table with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the table cells, or false if the UITableView should be updated with no animation.

    +
    +
    + + animations + + +
    +

    Type of animation to perform. See FunctionalTableData.TableAnimations for more info.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UITableView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Selects a row in the table view identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func select(keyPath: KeyPath, animated: Bool = true, scrollPosition: UITableViewScrollPosition = .none, triggerDelegate: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the table view.

    +
    +
    + + animated + + +
    +

    true if you want to animate the selection, and false if the change should be immediate.

    +
    +
    + + triggerDelegate + + +
    +

    true to trigger the tableView:didSelectRowAt: delegate from UITableView or false to skip it. Skipping it is the default UITableView behavior.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Scrolls to the item at the specified key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scroll(to keyPath: KeyPath, animated: Bool = true, scrollPosition: UITableViewScrollPosition = .bottom)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the table view.

    +
    +
    + + animated + + +
    +

    true to animate to the new scroll position, or false to scroll immediately.

    +
    +
    + + scrollPosition + + +
    +

    Specifies where the item specified by keyPath should be positioned once scrolling finishes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + keyPath(at:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPath(at point: CGPoint) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + point + + +
    +

    The point in the collection view’s bounds that you want to test.

    +
    +
    +
    +
    +

    Return Value

    +

    the keypath of the item at the specified point, or nil if no item was found at that point.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPathFromKeyPath(_ keyPath: KeyPath) -> IndexPath?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + numberOfSections(in:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func numberOfSections(in tableView: UITableView) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didEndDisplayingHeaderView view: UIView, forSection section: Int)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, shouldShowMenuForRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, canPerformAction action: Selector, forRowAt indexPath: IndexPath, withSender sender: Any?) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, performAction action: Selector, forRowAt indexPath: IndexPath, withSender sender: Any?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, targetIndexPathForMoveFromRowAt sourceIndexPath: IndexPath, toProposedIndexPath proposedDestinationIndexPath: IndexPath) -> IndexPath
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
    + +
    +
    +
    +
    +
  • +
+
+
+ +
    +
  • + +
    +
    +
    +
    +
    +

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol +but will still get called on delegates that implement it. Because it is not publicly exposed, +the Swift 4 compiler will not automatically annotate it as @objc, requiring this manual annotation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +public func scrollViewDidChangeContentSize(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScroll(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDragging(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScrollToTop(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/FunctionalTableData/Exception.html b/docs/Classes/FunctionalTableData/Exception.html new file mode 100644 index 0000000..5d7189d --- /dev/null +++ b/docs/Classes/FunctionalTableData/Exception.html @@ -0,0 +1,414 @@ + + + + Exception Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Exception

+
+
+
public struct Exception
+ +
+
+

A type that provides the information about an exception.

+ +
+
+
+
    +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let name: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + newSections + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let newSections: [TableSection]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + oldSections + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let oldSections: [TableSection]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + changes + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let changes: TableSectionChangeSet
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + visible + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let visible: [IndexPath]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewFrame + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let viewFrame: CGRect
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + reason + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let reason: String?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/FunctionalTableData/KeyPath.html b/docs/Classes/FunctionalTableData/KeyPath.html new file mode 100644 index 0000000..82f1bb1 --- /dev/null +++ b/docs/Classes/FunctionalTableData/KeyPath.html @@ -0,0 +1,309 @@ + + + + KeyPath Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

KeyPath

+
+
+
public struct KeyPath
+ +
+
+

Represents the unique path to a given item in the FunctionalTableData.

+ +

Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

+ +
+
+
+
    +
  • +
    + + + + sectionKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let sectionKey: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for an item inside a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rowKey: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(sectionKey: String, rowKey: String)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/FunctionalTableData/TableAnimations.html b/docs/Classes/FunctionalTableData/TableAnimations.html new file mode 100644 index 0000000..3eadd35 --- /dev/null +++ b/docs/Classes/FunctionalTableData/TableAnimations.html @@ -0,0 +1,307 @@ + + + + TableAnimations Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableAnimations

+
+
+
public struct TableAnimations
+ +
+
+

The type of animation when rows and sections are inserted or deleted.

+ +
+
+
+
    +
  • +
    + + + + Actions + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct Actions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + default + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var `default`: FunctionalTableData.TableAnimations
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(sections:rows:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(sections: Actions, rows: Actions)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/FunctionalTableData/TableAnimations/Actions.html b/docs/Classes/FunctionalTableData/TableAnimations/Actions.html new file mode 100644 index 0000000..1d16d93 --- /dev/null +++ b/docs/Classes/FunctionalTableData/TableAnimations/Actions.html @@ -0,0 +1,306 @@ + + + + Actions Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Actions

+
+
+
public struct Actions
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + default + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let `default`: FunctionalTableData.TableAnimations.Actions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + legacy + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let legacy: FunctionalTableData.TableAnimations.Actions
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(insert: UITableViewRowAnimation, delete: UITableViewRowAnimation, reload: UITableViewRowAnimation)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/Separator.html b/docs/Classes/Separator.html new file mode 100644 index 0000000..0431d96 --- /dev/null +++ b/docs/Classes/Separator.html @@ -0,0 +1,443 @@ + + + + Separator Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Separator

+
+
+
public class Separator : UIView
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + inset + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var inset: CGFloat
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Style + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Style
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Tag + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Tag : Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(style:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init(style: Style)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func constrainToTopOfView(_ view: UIView, constant: CGFloat = 0)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func constrainToBottomOfView(_ view: UIView, constant: CGFloat = 0)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/Separator/Style.html b/docs/Classes/Separator/Style.html new file mode 100644 index 0000000..a7a1d1a --- /dev/null +++ b/docs/Classes/Separator/Style.html @@ -0,0 +1,333 @@ + + + + Style Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Style

+
+
+
public enum Style
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + full + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case full
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + inset + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case inset
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + moreInset + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case moreInset
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + insetDistance + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var insetDistance: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/Separator/Tag.html b/docs/Classes/Separator/Tag.html new file mode 100644 index 0000000..efd8dd3 --- /dev/null +++ b/docs/Classes/Separator/Tag.html @@ -0,0 +1,279 @@ + + + + Tag Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Tag

+
+
+
public enum Tag : Int
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + top + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case top = 2318
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottom + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case bottom = 9773
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/TableCell.html b/docs/Classes/TableCell.html new file mode 100644 index 0000000..433b9eb --- /dev/null +++ b/docs/Classes/TableCell.html @@ -0,0 +1,387 @@ + + + + TableCell Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableCell

+
+
+
public class TableCell<ViewType, Layout> : UITableViewCell where ViewType : UIView, Layout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + view + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let view: ViewType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepare + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var prepare: ((ViewType) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override init(style: UITableViewCellStyle, reuseIdentifier: String?)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepareForReuse() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override func prepareForReuse()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override func accessibilityElementCount() -> Int
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Classes/TableHeaderFooter.html b/docs/Classes/TableHeaderFooter.html new file mode 100644 index 0000000..36884cf --- /dev/null +++ b/docs/Classes/TableHeaderFooter.html @@ -0,0 +1,360 @@ + + + + TableHeaderFooter Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableHeaderFooter

+
+
+
public class TableHeaderFooter<ViewType, Layout> : UITableViewHeaderFooterView where ViewType : UIView, Layout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + view + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let view: ViewType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let topSeparator: Separator
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let bottomSeparator: Separator
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override init(reuseIdentifier: String?)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Enums.html b/docs/Enums.html new file mode 100644 index 0000000..16f86d6 --- /dev/null +++ b/docs/Enums.html @@ -0,0 +1,275 @@ + + + + Enumerations Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+
+
    +
  • +
    + + + + EdgeLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum EdgeLayout
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + MarginsLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum MarginsLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Enums/EdgeLayout.html b/docs/Enums/EdgeLayout.html new file mode 100644 index 0000000..85c0a1a --- /dev/null +++ b/docs/Enums/EdgeLayout.html @@ -0,0 +1,281 @@ + + + + EdgeLayout Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

EdgeLayout

+
+
+
public enum EdgeLayout
+ +
+
+

Undocumented

+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/Enums/EdgeLayout/Horizontal.html b/docs/Enums/EdgeLayout/Horizontal.html new file mode 100644 index 0000000..2c6a04f --- /dev/null +++ b/docs/Enums/EdgeLayout/Horizontal.html @@ -0,0 +1,252 @@ + + + + Horizontal Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Horizontal

+
+
+
public struct Horizontal : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Enums/EdgeLayout/Vertical.html b/docs/Enums/EdgeLayout/Vertical.html new file mode 100644 index 0000000..9f87124 --- /dev/null +++ b/docs/Enums/EdgeLayout/Vertical.html @@ -0,0 +1,252 @@ + + + + Vertical Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Vertical

+
+
+
public struct Vertical : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Enums/MarginsLayout.html b/docs/Enums/MarginsLayout.html new file mode 100644 index 0000000..e4ed1a3 --- /dev/null +++ b/docs/Enums/MarginsLayout.html @@ -0,0 +1,281 @@ + + + + MarginsLayout Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

MarginsLayout

+
+
+
public enum MarginsLayout
+ +
+
+

Undocumented

+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/Enums/MarginsLayout/Horizontal.html b/docs/Enums/MarginsLayout/Horizontal.html new file mode 100644 index 0000000..7a5feea --- /dev/null +++ b/docs/Enums/MarginsLayout/Horizontal.html @@ -0,0 +1,252 @@ + + + + Horizontal Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Horizontal

+
+
+
public struct Horizontal : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Enums/MarginsLayout/Vertical.html b/docs/Enums/MarginsLayout/Vertical.html new file mode 100644 index 0000000..0560059 --- /dev/null +++ b/docs/Enums/MarginsLayout/Vertical.html @@ -0,0 +1,252 @@ + + + + Vertical Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Vertical

+
+
+
public struct Vertical : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Extensions.html b/docs/Extensions.html new file mode 100644 index 0000000..28496be --- /dev/null +++ b/docs/Extensions.html @@ -0,0 +1,339 @@ + + + + Extensions Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Extensions

+

The following extensions are available globally.

+ +
+
+
+
    +
  • +
    + + + + UICollectionView + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class UICollectionView : UIScrollView, UIDataSourceTranslating
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + NSException + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class NSException : NSObject, NSCopying, NSCoding
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + UIView + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class UIView : UIResponder, NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + UITableView + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class UITableView : UIScrollView, NSCoding, UIDataSourceTranslating
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Extensions/NSException.html b/docs/Extensions/NSException.html new file mode 100644 index 0000000..fa2b8d2 --- /dev/null +++ b/docs/Extensions/NSException.html @@ -0,0 +1,251 @@ + + + + NSException Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

NSException

+
+
+
class NSException : NSObject, NSCopying, NSCoding
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func catchAndRethrow(_ block: () -> Void, failure: (_ exception: NSException) -> Void)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Extensions/UICollectionView.html b/docs/Extensions/UICollectionView.html new file mode 100644 index 0000000..f4f76b4 --- /dev/null +++ b/docs/Extensions/UICollectionView.html @@ -0,0 +1,407 @@ + + + + UICollectionView Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

UICollectionView

+
+
+
class UICollectionView : UIScrollView, UIDataSourceTranslating
+ +
+
+ +
+
+
+
    +
  • +
    + + + + render() + +
    +
    +
    +
    +
    +
    +

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new +cell heights and animations when the internal state of a cell changes and needs to reflect +them immediately.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func render()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deselects the previously selected row, with an option to animate the deselection.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func deselectLastSelectedItem(animated: Bool)
    + +
    +
    +
    +

    Parameters

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

    true to animate the deselection, or false if the change should be immediate.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + indexPath(for:) + +
    +
    +
    +
    +
    +
    +

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPath(for view: UIView) -> IndexPath?
    + +
    +
    +
    +

    Parameters

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

    The view to find the IndexPath.

    +
    +
    +
    +
    +

    Return Value

    +

    The IndexPath of the view in the UICollectionView or nil if it could not be found.

    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func registerReusableCell<T>(_ cellType: T.Type) where T : UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func dequeueReusableCell<T: UICollectionViewCell>(_ cellType: T.Type = T.self, indexPath: IndexPath) -> T
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Extensions/UITableView.html b/docs/Extensions/UITableView.html new file mode 100644 index 0000000..d510a05 --- /dev/null +++ b/docs/Extensions/UITableView.html @@ -0,0 +1,479 @@ + + + + UITableView Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

UITableView

+
+
+
class UITableView : UIScrollView, NSCoding, UIDataSourceTranslating
+ +
+
+ +
+
+
+
    +
  • +
    + + + + render() + +
    +
    +
    +
    +
    +
    +

    Initiates a layout pass of UITableView and its items. Necessary for calculating new +cell heights and animations when the internal state of a cell changes and needs to reflect +them immediately.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func render()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deselects the previously selected row, with an option to animate the deselection.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func deselectLastSelectedRow(animated: Bool)
    + +
    +
    +
    +

    Parameters

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

    true to animate the deselection, or false if the change should be immediate.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + indexPath(for:) + +
    +
    +
    +
    +
    +
    +

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPath(for view: UIView) -> IndexPath?
    + +
    +
    +
    +

    Parameters

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

    The view to find the IndexPath.

    +
    +
    +
    +
    +

    Return Value

    +

    The IndexPath of the view in the UITableView or nil if it could not be found.

    +
    +
    +
    +
  • +
+
+
+ +
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func registerReusableHeaderFooterView<T>(_ headerType: T.Type) where T : UITableViewHeaderFooterView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func dequeueReusableHeaderFooterView<T: UITableViewHeaderFooterView>(_ headerType: T.Type = T.self) -> T
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + + +

Cells

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func registerReusableCell<T>(_ cellType: T.Type) where T : UITableViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func dequeueReusableCell<T: UITableViewCell>(_ cellType: T.Type = T.self, indexPath: IndexPath?) -> T
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Extensions/UIView.html b/docs/Extensions/UIView.html new file mode 100644 index 0000000..b93aceb --- /dev/null +++ b/docs/Extensions/UIView.html @@ -0,0 +1,305 @@ + + + + UIView Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

UIView

+
+
+
class UIView : UIResponder, NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func applyTopSeparator(_ style: Separator.Style, color: UIColor? = nil)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func applyBottomSeparator(_ style: Separator.Style, color: UIColor? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + removeSeparator(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func removeSeparator(_ withTag: Separator.Tag)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols.html b/docs/Protocols.html new file mode 100644 index 0000000..7e9f15c --- /dev/null +++ b/docs/Protocols.html @@ -0,0 +1,514 @@ + + + + Protocols Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+
+
    +
  • +
    + + + + CellConfigType + +
    +
    +
    +
    +
    +
    +

    A type that provides the information required by FunctionalTableData to generate cells.

    + +

    The key property should be a unique String for the section that the item is contained in. It should also be representative of the item and not just a random value or UUID. This is because on an update pass the key is used to determine if an item has been added, moved, or removed from the data set. Using a stable value means that this can correctly be determined.

    + +

    The isEqual function is used to determine if two CellConfigType’s have matching keys and they represent the same data. This allows the system to update the views state directly when something has changed instead of forcing a reload of the entire cell all the time.

    + +

    When two items have matching key values but the isEqual call between old and new returns false the update function is called. It is the responsibility of this function to update the cell, and any subviews of the cell, to reflect the state.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CellConfigType : CollectionItemConfigType, TableItemConfigType
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CollectionItemConfigType
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + Reusable + +
    +
    +
    +
    +
    +
    +

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol Reusable : AnyObject
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableItemLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableSectionType + +
    +
    +
    +
    +
    +
    +

    A type with the information about a section.

    + +

    FunctionalTableData deals in arrays of TableSection instances. Each section, at a minimum, has a string value unique within the table itself, and an array of CellConfigType instances that represent the rows of the section. Additionally there may be a header and footer for the section.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TableSectionType
    + +
    +
    +
    +
    +
  • +
+
+
+ + +
+
+
    +
  • + +
    +
    +
    +
    +
    +

    A type that provides the debugging information when an exception occurs.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol FunctionalTableDataExceptionHandler
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableItemConfigType + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TableItemConfigType
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/CellConfigType.html b/docs/Protocols/CellConfigType.html new file mode 100644 index 0000000..7aa7814 --- /dev/null +++ b/docs/Protocols/CellConfigType.html @@ -0,0 +1,507 @@ + + + + CellConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CellConfigType

+
+
+
public protocol CellConfigType : CollectionItemConfigType, TableItemConfigType
+ +
+
+

A type that provides the information required by FunctionalTableData to generate cells.

+ +

The key property should be a unique String for the section that the item is contained in. It should also be representative of the item and not just a random value or UUID. This is because on an update pass the key is used to determine if an item has been added, moved, or removed from the data set. Using a stable value means that this can correctly be determined.

+ +

The isEqual function is used to determine if two CellConfigType’s have matching keys and they represent the same data. This allows the system to update the views state directly when something has changed instead of forcing a reload of the entire cell all the time.

+ +

When two items have matching key values but the isEqual call between old and new returns false the update function is called. It is the responsibility of this function to update the cell, and any subviews of the cell, to reflect the state.

+ +
+
+
+
    +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    +

    Unique identifier for the cell.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var key: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + style + +
    +
    +
    +
    +
    +
    +

    Indicates a cell style. See CellStyle for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var style: CellStyle? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + actions + +
    +
    +
    +
    +
    +
    +

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var actions: CellActions { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    +

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func update(cell: UITableViewCell, in tableView: UITableView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cell + + +
    +

    A cell view that was dequeued from the UITableView.

    +
    +
    + + tableView + + +
    +

    The UITableView object holding this cell.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    +

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func update(cell: UICollectionViewCell, in collectionView: UICollectionView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cell + + +
    +

    A cell view that was dequeued from the UICollectionView.

    +
    +
    + + collectionView + + +
    +

    The UICollectionView object holding this cell.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + isEqual(_:) + +
    +
    +
    +
    +
    +
    +

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    + +

    Cell equality is used during rendering to determine when an existing cell’s view needs to be updated with new data.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func isEqual(_ other: CellConfigType) -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + other + + +
    +

    the value to compare against.

    +
    +
    +
    +
    +

    Return Value

    +

    true when both values are the same, false otherwise.

    +
    +
    +
    +
  • +
  • +
    + + + + debugInfo() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func debugInfo() -> [String : Any]
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/CollectionItemConfigType.html b/docs/Protocols/CollectionItemConfigType.html new file mode 100644 index 0000000..816777b --- /dev/null +++ b/docs/Protocols/CollectionItemConfigType.html @@ -0,0 +1,287 @@ + + + + CollectionItemConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CollectionItemConfigType

+
+
+
public protocol CollectionItemConfigType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func register(with collectionView: UICollectionView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +

    Default Implementation

    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func dequeueCell(from collectionView: UICollectionView, at indexPath: IndexPath) -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/FunctionalTableDataExceptionHandler.html b/docs/Protocols/FunctionalTableDataExceptionHandler.html new file mode 100644 index 0000000..2cc869f --- /dev/null +++ b/docs/Protocols/FunctionalTableDataExceptionHandler.html @@ -0,0 +1,272 @@ + + + + FunctionalTableDataExceptionHandler Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

FunctionalTableDataExceptionHandler

+
+
+
public protocol FunctionalTableDataExceptionHandler
+ +
+
+

A type that provides the debugging information when an exception occurs.

+ +
+
+
+
    +
  • +
    + + + + handle(exception:) + +
    +
    +
    +
    +
    +
    +

    Handles the exception. This is only for debugging purposes, and commonly used +by storing the state information into the filesystem for a developer review.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func handle(exception: FunctionalTableData.Exception)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + exception + + +
    +

    The type of the exception that occurred

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/Reusable.html b/docs/Protocols/Reusable.html new file mode 100644 index 0000000..df1e4bb --- /dev/null +++ b/docs/Protocols/Reusable.html @@ -0,0 +1,259 @@ + + + + Reusable Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Reusable

+
+
+
public protocol Reusable : AnyObject
+ +
+
+

A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

+ +
+
+
+
    +
  • +
    + + + + reuseIdentifier + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Unique identifier for the object.

    + +
    +

    Default Implementation

    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static var reuseIdentifier: String { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/TableHeaderFooterConfigType.html b/docs/Protocols/TableHeaderFooterConfigType.html new file mode 100644 index 0000000..0e2bcf1 --- /dev/null +++ b/docs/Protocols/TableHeaderFooterConfigType.html @@ -0,0 +1,279 @@ + + + + TableHeaderFooterConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableHeaderFooterConfigType

+
+
+
public protocol TableHeaderFooterConfigType : TableItemConfigType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func dequeueHeaderFooter(from tableView: UITableView) -> UITableViewHeaderFooterView?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + height + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var height: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/TableHeaderFooterStateType.html b/docs/Protocols/TableHeaderFooterStateType.html new file mode 100644 index 0000000..b78d147 --- /dev/null +++ b/docs/Protocols/TableHeaderFooterStateType.html @@ -0,0 +1,333 @@ + + + + TableHeaderFooterStateType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableHeaderFooterStateType

+
+
+
public protocol TableHeaderFooterStateType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + insets + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var insets: UIEdgeInsets { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + height + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var height: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topSeparatorHidden + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var topSeparatorHidden: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomSeparatorHidden + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var bottomSeparatorHidden: Bool { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/TableItemConfigType.html b/docs/Protocols/TableItemConfigType.html new file mode 100644 index 0000000..dd59fb2 --- /dev/null +++ b/docs/Protocols/TableItemConfigType.html @@ -0,0 +1,287 @@ + + + + TableItemConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableItemConfigType

+
+
+
public protocol TableItemConfigType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func register(with tableView: UITableView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +

    Default Implementation

    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func dequeueCell(from tableView: UITableView, at indexPath: IndexPath) -> UITableViewCell
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/TableItemLayout.html b/docs/Protocols/TableItemLayout.html new file mode 100644 index 0000000..2383c35 --- /dev/null +++ b/docs/Protocols/TableItemLayout.html @@ -0,0 +1,252 @@ + + + + TableItemLayout Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableItemLayout

+
+
+
public protocol TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Protocols/TableSectionType.html b/docs/Protocols/TableSectionType.html new file mode 100644 index 0000000..27ed6ce --- /dev/null +++ b/docs/Protocols/TableSectionType.html @@ -0,0 +1,416 @@ + + + + TableSectionType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSectionType

+
+
+
public protocol TableSectionType
+ +
+
+

A type with the information about a section.

+ +

FunctionalTableData deals in arrays of TableSection instances. Each section, at a minimum, has a string value unique within the table itself, and an array of CellConfigType instances that represent the rows of the section. Additionally there may be a header and footer for the section.

+ +
+
+
+
    +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    +

    Unique identifier for the section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var key: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + header + +
    +
    +
    +
    +
    +
    +

    View object to display in the header of this section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var header: TableHeaderFooterConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + footer + +
    +
    +
    +
    +
    +
    +

    View object to display in the footer of this section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var footer: TableHeaderFooterConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rows + +
    +
    +
    +
    +
    +
    +

    Instances of CellConfigType that represent the rows in the table view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var rows: [CellConfigType] { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Action to perform when the header view comes in or out of view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var headerVisibilityAction: ((_ view: UIView, _ visible: Bool) -> Void)? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowCount + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var rowCount: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    subscript(index: Int) -> CellConfigType { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs.html b/docs/Structs.html new file mode 100644 index 0000000..5f2d0a5 --- /dev/null +++ b/docs/Structs.html @@ -0,0 +1,503 @@ + + + + Structures Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Structures

+

The following structures are available globally.

+ +
+
+
+
    +
  • +
    + + + + CellActions + +
    +
    +
    +
    +
    +
    +

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CellActions
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + CellStyle + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CellStyle
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + HostCell + +
    +
    +
    +
    +
    +
    +

    Defines the view, state and layout information of a row item inside a TableSection. +It relies on you to build UIView subclasses and use those instead of implementing UITableViewCell or UICollectionViewCell subclasses. This has the side effect of building better more reusable view components. This greatly simplifies composition by combining several host-cells into more complex layouts. It also makes equality simpler and more Swifty by requiring that anything provided as State only requires that the State object conform to the Equatable protocol. The View portion of the generic only requires it to be a UIView subclass.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct HostCell<View, State, Layout> : CellConfigType where View : UIView, State : Equatable, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+ +
+
+
    +
  • +
    + + + + TableSection + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableSection : Sequence, TableSectionType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SectionStyle + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct SectionStyle : Equatable
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableSectionChangeSet + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableSectionChangeSet
    + +
    +
    +
    +
    +
  • +
+
+
+ + +
+
+
+ +
+
+ + + diff --git a/docs/Structs/CellActions.html b/docs/Structs/CellActions.html new file mode 100644 index 0000000..a720423 --- /dev/null +++ b/docs/Structs/CellActions.html @@ -0,0 +1,774 @@ + + + + CellActions Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CellActions

+
+
+
public struct CellActions
+ +
+
+

The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

+ +
+
+
+
    +
  • +
    + + + + SelectionState + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum SelectionState
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CanSelectCallback + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CanSelectCallback = (Bool) -> Void
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CanSelectAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CanSelectAction = (_ canSelect: @escaping CanSelectCallback) -> Void
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SelectionAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias SelectionAction = (_ sender: UIView) -> SelectionState
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + DeselectionAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias DeselectionAction = (_ sender: UIView) -> SelectionState
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CanPerformAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CanPerformAction = (_ selector: Selector) -> Bool
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + VisibilityAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias VisibilityAction = (_ cell: UIView, _ visible: Bool) -> Void
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Closure type that is executed when the user 3D-touches on a cell

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PreviewingViewControllerAction = (_ cell: UIView, _ point: CGPoint, _ context: UIViewControllerPreviewing) -> UIViewController?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + cell + + +
    +

    the cell in which the 3D-touch occured

    +
    +
    + + point + + +
    +

    The point where the 3D-touch occured, translated to the coordinate space of the cell

    +
    +
    + + context + + +
    +

    The instance of UIViewControllerPreviewing that is participating in the 3D-touch

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + canSelectAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell will be selected.

    +
    +

    Important

    + When the canSelectAction is called, it is passed a CanSelectCallback closure. It is the responsibility of the action to eventually call the passed in closure providing either a true or false value to it. This passed in value determines if the selection will be performed or not. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let canSelectAction: CanSelectAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + selectionAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell is selected

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let selectionAction: SelectionAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + deselectionAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell is deselected

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let deselectionAction: SelectionAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowActions + +
    +
    +
    +
    +
    +
    +

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rowActions: [UITableViewRowAction]?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + canPerformAction + +
    +
    +
    +
    +
    +
    +

    Indicates if the cell can perform a given action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let canPerformAction: CanPerformAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + canBeMoved + +
    +
    +
    +
    +
    +
    +

    Indicates if the cell can be manually moved by the user.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let canBeMoved: Bool
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + visibilityAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell becomes visible.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let visibilityAction: VisibilityAction?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The action to perform when the cell is 3D touched by the user.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let previewingViewControllerAction: PreviewingViewControllerAction?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(canSelectAction: CanSelectAction? = nil,
    +			selectionAction: SelectionAction? = nil,
    +			deselectionAction: DeselectionAction? = nil,
    +			rowActions: [UITableViewRowAction]? = nil,
    +			canPerformAction: CanPerformAction? = nil,
    +			canBeMoved: Bool = false,
    +			visibilityAction: VisibilityAction? = nil,
    +			previewingViewControllerAction: PreviewingViewControllerAction? = nil)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(canSelectAction: CanSelectAction? = nil,
    +			selectionAction: SelectionAction? = nil,
    +			deselectionAction: DeselectionAction? = nil,
    +			rowActions: [UITableViewRowAction]? = nil,
    +			canPerformAction: CanPerformAction? = nil,
    +			canBeMoved: Bool = false,
    +			visibilityAction: VisibilityAction? = nil,
    +			previewingViewControllerAction: @escaping () -> UIViewController?)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/CellActions/SelectionState.html b/docs/Structs/CellActions/SelectionState.html new file mode 100644 index 0000000..3b84114 --- /dev/null +++ b/docs/Structs/CellActions/SelectionState.html @@ -0,0 +1,279 @@ + + + + SelectionState Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

SelectionState

+
+
+
public enum SelectionState
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + selected + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case selected
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + deselected + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case deselected
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/CellStyle.html b/docs/Structs/CellStyle.html new file mode 100644 index 0000000..4798685 --- /dev/null +++ b/docs/Structs/CellStyle.html @@ -0,0 +1,616 @@ + + + + CellStyle Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CellStyle

+
+
+
public struct CellStyle
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + selectionColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var selectionColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var bottomSeparator: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var topSeparator: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + separatorColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var separatorColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + highlight + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var highlight: Bool?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + accessoryType + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var accessoryType: UITableViewCellAccessoryType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + selectionColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var selectionColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + backgroundColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var backgroundColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + backgroundView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var backgroundView: UIView?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tintColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var tintColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutMargins + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var layoutMargins: UIEdgeInsets?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cornerRadius + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var cornerRadius: CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(topSeparator: Separator.Style? = nil,
    +            bottomSeparator: Separator.Style? = nil,
    +            separatorColor: UIColor? = nil,
    +            highlight: Bool? = nil,
    +            accessoryType: UITableViewCellAccessoryType = .none,
    +            selectionColor: UIColor? = CellStyle.selectionColor,
    +            backgroundColor: UIColor? = nil,
    +            backgroundView: UIView? = nil,
    +            tintColor: UIColor? = nil,
    +            layoutMargins: UIEdgeInsets? = nil,
    +            cornerRadius: CGFloat = 0)
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: CellStyle, rhs: CellStyle) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/CombinedLayout.html b/docs/Structs/CombinedLayout.html new file mode 100644 index 0000000..c0e5677 --- /dev/null +++ b/docs/Structs/CombinedLayout.html @@ -0,0 +1,252 @@ + + + + CombinedLayout Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CombinedLayout

+
+
+
public struct CombinedLayout<Horizontal, Vertical> : TableItemLayout where Horizontal : TableItemLayout, Vertical : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/ExplicitLayoutMarginsTableItemLayout.html b/docs/Structs/ExplicitLayoutMarginsTableItemLayout.html new file mode 100644 index 0000000..b18a832 --- /dev/null +++ b/docs/Structs/ExplicitLayoutMarginsTableItemLayout.html @@ -0,0 +1,252 @@ + + + + ExplicitLayoutMarginsTableItemLayout Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

ExplicitLayoutMarginsTableItemLayout

+
+
+
public struct ExplicitLayoutMarginsTableItemLayout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/HostCell.html b/docs/Structs/HostCell.html new file mode 100644 index 0000000..9fb36d8 --- /dev/null +++ b/docs/Structs/HostCell.html @@ -0,0 +1,813 @@ + + + + HostCell Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

HostCell

+
+
+
public struct HostCell<View, State, Layout> : CellConfigType where View : UIView, State : Equatable, Layout : TableItemLayout
+ +
+
+

Defines the view, state and layout information of a row item inside a TableSection. +It relies on you to build UIView subclasses and use those instead of implementing UITableViewCell or UICollectionViewCell subclasses. This has the side effect of building better more reusable view components. This greatly simplifies composition by combining several host-cells into more complex layouts. It also makes equality simpler and more Swifty by requiring that anything provided as State only requires that the State object conform to the Equatable protocol. The View portion of the generic only requires it to be a UIView subclass.

+ +
+
+
+
    +
  • +
    + + + + TableViewCellType + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias TableViewCellType = TableCell<View, Layout>
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CollectionViewCellType = CollectionCell<View, Layout>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let key: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + style + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var style: CellStyle?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + actions + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let actions: CellActions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + state + +
    +
    +
    +
    +
    +
    +

    Contains the state information of a cell.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let state: State
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cellUpdater + +
    +
    +
    +
    +
    +
    +

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cellUpdater: (_ view: View, _ state: State?) -> Void
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(key: String, style: CellStyle? = nil, actions: CellActions = CellActions(), state: State, cellUpdater: @escaping (_ view: View, _ state: State?) -> Void)
    + +
    +
    +
    +
    +
  • +
+
+
+ +
    +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Registers the instance of this HostCell for use in creating new table cells.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func register(with tableView: UITableView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + tableView + + +
    +

    the UITableView to register the cell with.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Registers the instance of this HostCell for use in creating new table cells.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func register(with collectionView: UICollectionView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + collectionView + + +
    +

    the UICollectionView to register the cell with.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + +
    +
    +
    +
    +
    +
    +

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func dequeueCell(from tableView: UITableView, at indexPath: IndexPath) -> UITableViewCell
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + tableView + + +
    +

    the UITableView holding the cells.

    +
    +
    + + indexPath + + +
    +

    The index path specifying the location of the cell.

    +
    +
    +
    +
    +

    Return Value

    +

    A UITableViewCell object that exists in the reusable-cell queue.

    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + +
    +
    +
    +
    +
    +
    +

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func dequeueCell(from collectionView: UICollectionView, at indexPath: IndexPath) -> UICollectionViewCell
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + collectionView + + +
    +

    the UICollectionView holding the cells.

    +
    +
    + + indexPath + + +
    +

    The index path specifying the location of the cell.

    +
    +
    +
    +
    +

    Return Value

    +

    A UICollectionViewCell object that exists in the reusable-cell queue.

    +
    +
    +
    +
  • +
+
+
+ +
    +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func update(cell: UITableViewCell, in tableView: UITableView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func update(cell: UICollectionViewCell, in collectionView: UICollectionView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isEqual(_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func isEqual(_ other: CellConfigType) -> Bool
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + debugInfo() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func debugInfo() -> [String : Any]
    + +
    +
    +
    +
    +
  • +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/Structs/SectionStyle.html b/docs/Structs/SectionStyle.html new file mode 100644 index 0000000..87e7fe8 --- /dev/null +++ b/docs/Structs/SectionStyle.html @@ -0,0 +1,333 @@ + + + + SectionStyle Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

SectionStyle

+
+
+
public struct SectionStyle : Equatable
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + Separators + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct Separators : Equatable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + separators + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var separators: Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(separators:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(separators: Separators)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: SectionStyle, rhs: SectionStyle) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/SectionStyle/Separators.html b/docs/Structs/SectionStyle/Separators.html new file mode 100644 index 0000000..805050c --- /dev/null +++ b/docs/Structs/SectionStyle/Separators.html @@ -0,0 +1,440 @@ + + + + Separators Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Separators

+
+
+
public struct Separators : Equatable
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + default + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let `default`: SectionStyle.Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topAndBottom + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let topAndBottom: SectionStyle.Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + full + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let full: SectionStyle.Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + top + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var top: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottom + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var bottom: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + interitem + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var interitem: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(top: Separator.Style? = nil, bottom: Separator.Style? = nil, interitem: Separator.Style? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: Separators, rhs: Separators) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/TableSection.html b/docs/Structs/TableSection.html new file mode 100644 index 0000000..5e65170 --- /dev/null +++ b/docs/Structs/TableSection.html @@ -0,0 +1,673 @@ + + + + TableSection Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSection

+
+
+
public struct TableSection : Sequence, TableSectionType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let key: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + header + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var header: TableHeaderFooterConfigType?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + footer + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var footer: TableHeaderFooterConfigType?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rows + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var rows: [CellConfigType]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + style + +
    +
    +
    +
    +
    +
    +

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var style: SectionStyle?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var headerVisibilityAction: ((UIView, Bool) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + didMoveRow + +
    +
    +
    +
    +
    +
    +

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var didMoveRow: ((Int, Int) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(key: String, rows: [CellConfigType] = [], header: TableHeaderFooterConfigType? = nil, footer: TableHeaderFooterConfigType? = nil, style: SectionStyle? = nil, didMoveRow: ((_ from: Int, _ to: Int) -> Void)? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public subscript(index: Int) -> CellConfigType { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + append(_:) + +
    +
    +
    +
    +
    +
    +

    Adds a row to the end of the array of rows.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public mutating func append(_ row: CellConfigType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + row + + +
    +

    CellConfigType instance to append the array of rows.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + rowCount + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var rowCount: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + makeIterator() + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeIterator() -> AnyIterator<CellConfigType>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + mergedStyle(for:) + +
    +
    +
    +
    +
    +
    +

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func mergedStyle(for row: Int) -> CellStyle?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + row + + +
    +

    Integer identifying the position of the row in the section.

    +
    +
    +
    +
    +

    Return Value

    +

    The CellStyle of the cell merged with the style of the section.

    +
    +
    +
    +
  • +
+
+
+ +
+
+
    +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: TableSection, rhs: TableSection) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/TableSectionChangeSet.html b/docs/Structs/TableSectionChangeSet.html new file mode 100644 index 0000000..8d7042b --- /dev/null +++ b/docs/Structs/TableSectionChangeSet.html @@ -0,0 +1,306 @@ + + + + TableSectionChangeSet Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSectionChangeSet

+
+
+
public struct TableSectionChangeSet
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + isEmpty + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isEmpty: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + count + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var count: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + jsonDebugInfo() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func jsonDebugInfo() -> [String : Any]
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Structs/TableSectionHeaderFooter.html b/docs/Structs/TableSectionHeaderFooter.html new file mode 100644 index 0000000..4c20c9b --- /dev/null +++ b/docs/Structs/TableSectionHeaderFooter.html @@ -0,0 +1,387 @@ + + + + TableSectionHeaderFooter Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSectionHeaderFooter

+
+
+
public struct TableSectionHeaderFooter<ViewType, Layout, S> : TableHeaderFooterConfigType where ViewType : UIView, Layout : TableItemLayout, S : TableHeaderFooterStateType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + ViewUpdater + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias ViewUpdater = (_ header: TableHeaderFooter<ViewType, Layout>, _ state: S) -> Void
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + state + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let state: S?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(state:updater:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(state: S? = nil, updater: ViewUpdater? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func register(with tableView: UITableView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func dequeueHeaderFooter(from tableView: UITableView) -> UITableViewHeaderFooterView?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + height + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var height: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/Typealiases.html b/docs/Typealiases.html new file mode 100644 index 0000000..efb7ac4 --- /dev/null +++ b/docs/Typealiases.html @@ -0,0 +1,311 @@ + + + + Type Aliases Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Type Aliases

+

The following type aliases are available globally.

+ +
+
+
+ +
+
+ + +
+
+
+ +
+
+ + + diff --git a/docs/badge.svg b/docs/badge.svg new file mode 100644 index 0000000..12cb918 --- /dev/null +++ b/docs/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 27% + + + 27% + + + diff --git a/docs/css/highlight.css b/docs/css/highlight.css new file mode 100644 index 0000000..d0db0e1 --- /dev/null +++ b/docs/css/highlight.css @@ -0,0 +1,200 @@ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight { + /* Comment */ + /* Error */ + /* Keyword */ + /* Operator */ + /* Comment.Multiline */ + /* Comment.Preproc */ + /* Comment.Single */ + /* Comment.Special */ + /* Generic.Deleted */ + /* Generic.Deleted.Specific */ + /* Generic.Emph */ + /* Generic.Error */ + /* Generic.Heading */ + /* Generic.Inserted */ + /* Generic.Inserted.Specific */ + /* Generic.Output */ + /* Generic.Prompt */ + /* Generic.Strong */ + /* Generic.Subheading */ + /* Generic.Traceback */ + /* Keyword.Constant */ + /* Keyword.Declaration */ + /* Keyword.Pseudo */ + /* Keyword.Reserved */ + /* Keyword.Type */ + /* Literal.Number */ + /* Literal.String */ + /* Name.Attribute */ + /* Name.Builtin */ + /* Name.Class */ + /* Name.Constant */ + /* Name.Entity */ + /* Name.Exception */ + /* Name.Function */ + /* Name.Namespace */ + /* Name.Tag */ + /* Name.Variable */ + /* Operator.Word */ + /* Text.Whitespace */ + /* Literal.Number.Float */ + /* Literal.Number.Hex */ + /* Literal.Number.Integer */ + /* Literal.Number.Oct */ + /* Literal.String.Backtick */ + /* Literal.String.Char */ + /* Literal.String.Doc */ + /* Literal.String.Double */ + /* Literal.String.Escape */ + /* Literal.String.Heredoc */ + /* Literal.String.Interpol */ + /* Literal.String.Other */ + /* Literal.String.Regex */ + /* Literal.String.Single */ + /* Literal.String.Symbol */ + /* Name.Builtin.Pseudo */ + /* Name.Variable.Class */ + /* Name.Variable.Global */ + /* Name.Variable.Instance */ + /* Literal.Number.Integer.Long */ } + .highlight .c { + color: #999988; + font-style: italic; } + .highlight .err { + color: #a61717; + background-color: #e3d2d2; } + .highlight .k { + color: #000000; + font-weight: bold; } + .highlight .o { + color: #000000; + font-weight: bold; } + .highlight .cm { + color: #999988; + font-style: italic; } + .highlight .cp { + color: #999999; + font-weight: bold; } + .highlight .c1 { + color: #999988; + font-style: italic; } + .highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + .highlight .gd { + color: #000000; + background-color: #ffdddd; } + .highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + .highlight .ge { + color: #000000; + font-style: italic; } + .highlight .gr { + color: #aa0000; } + .highlight .gh { + color: #999999; } + .highlight .gi { + color: #000000; + background-color: #ddffdd; } + .highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + .highlight .go { + color: #888888; } + .highlight .gp { + color: #555555; } + .highlight .gs { + font-weight: bold; } + .highlight .gu { + color: #aaaaaa; } + .highlight .gt { + color: #aa0000; } + .highlight .kc { + color: #000000; + font-weight: bold; } + .highlight .kd { + color: #000000; + font-weight: bold; } + .highlight .kp { + color: #000000; + font-weight: bold; } + .highlight .kr { + color: #000000; + font-weight: bold; } + .highlight .kt { + color: #445588; } + .highlight .m { + color: #009999; } + .highlight .s { + color: #d14; } + .highlight .na { + color: #008080; } + .highlight .nb { + color: #0086B3; } + .highlight .nc { + color: #445588; + font-weight: bold; } + .highlight .no { + color: #008080; } + .highlight .ni { + color: #800080; } + .highlight .ne { + color: #990000; + font-weight: bold; } + .highlight .nf { + color: #990000; } + .highlight .nn { + color: #555555; } + .highlight .nt { + color: #000080; } + .highlight .nv { + color: #008080; } + .highlight .ow { + color: #000000; + font-weight: bold; } + .highlight .w { + color: #bbbbbb; } + .highlight .mf { + color: #009999; } + .highlight .mh { + color: #009999; } + .highlight .mi { + color: #009999; } + .highlight .mo { + color: #009999; } + .highlight .sb { + color: #d14; } + .highlight .sc { + color: #d14; } + .highlight .sd { + color: #d14; } + .highlight .s2 { + color: #d14; } + .highlight .se { + color: #d14; } + .highlight .sh { + color: #d14; } + .highlight .si { + color: #d14; } + .highlight .sx { + color: #d14; } + .highlight .sr { + color: #009926; } + .highlight .s1 { + color: #d14; } + .highlight .ss { + color: #990073; } + .highlight .bp { + color: #999999; } + .highlight .vc { + color: #008080; } + .highlight .vg { + color: #008080; } + .highlight .vi { + color: #008080; } + .highlight .il { + color: #009999; } diff --git a/docs/css/jazzy.css b/docs/css/jazzy.css new file mode 100644 index 0000000..d628282 --- /dev/null +++ b/docs/css/jazzy.css @@ -0,0 +1,337 @@ +html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td { + background: transparent; + border: 0; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; } + +body { + background-color: #f2f2f2; + font-family: Helvetica, freesans, Arial, sans-serif; + font-size: 14px; + -webkit-font-smoothing: subpixel-antialiased; + word-wrap: break-word; } + +h1, h2, h3 { + margin-top: 0.8em; + margin-bottom: 0.3em; + font-weight: 100; + color: black; } + +h1 { + font-size: 2.5em; } + +h2 { + font-size: 2em; + border-bottom: 1px solid #e2e2e2; } + +h4 { + font-size: 13px; + line-height: 1.5; + margin-top: 21px; } + +h5 { + font-size: 1.1em; } + +h6 { + font-size: 1.1em; + color: #777; } + +.section-name { + color: gray; + display: block; + font-family: Helvetica; + font-size: 22px; + font-weight: 100; + margin-bottom: 15px; } + +pre, code { + font: 0.95em Menlo, monospace; + color: #777; + word-wrap: normal; } + +p code, li code { + background-color: #eee; + padding: 2px 4px; + border-radius: 4px; } + +a { + color: #0088cc; + text-decoration: none; } + +ul { + padding-left: 15px; } + +li { + line-height: 1.8em; } + +img { + max-width: 100%; } + +blockquote { + margin-left: 0; + padding: 0 10px; + border-left: 4px solid #ccc; } + +.content-wrapper { + margin: 0 auto; + width: 980px; } + +header { + font-size: 0.85em; + line-height: 26px; + background-color: #414141; + position: fixed; + width: 100%; + z-index: 1; } + header img { + padding-right: 6px; + vertical-align: -4px; + height: 16px; } + header a { + color: #fff; } + header p { + float: left; + color: #999; } + header .header-right { + float: right; + margin-left: 16px; } + +#breadcrumbs { + background-color: #f2f2f2; + height: 27px; + padding-top: 17px; + position: fixed; + width: 100%; + z-index: 1; + margin-top: 26px; } + #breadcrumbs #carat { + height: 10px; + margin: 0 5px; } + +.sidebar { + background-color: #f9f9f9; + border: 1px solid #e2e2e2; + overflow-y: auto; + overflow-x: hidden; + position: fixed; + top: 70px; + bottom: 0; + width: 230px; + word-wrap: normal; } + +.nav-groups { + list-style-type: none; + background: #fff; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #e2e2e2; + font-size: 1.1em; + font-weight: 100; + padding: 15px 0 15px 20px; } + .nav-group-name > a { + color: #333; } + +.nav-group-tasks { + margin-top: 5px; } + +.nav-group-task { + font-size: 0.9em; + list-style-type: none; + white-space: nowrap; } + .nav-group-task a { + color: #888; } + +.main-content { + background-color: #fff; + border: 1px solid #e2e2e2; + margin-left: 246px; + position: absolute; + overflow: hidden; + padding-bottom: 60px; + top: 70px; + width: 734px; } + .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { + margin-bottom: 1em; } + .main-content p { + line-height: 1.8em; } + .main-content section .section:first-child { + margin-top: 0; + padding-top: 0; } + .main-content section .task-group-section .task-group:first-of-type { + padding-top: 10px; } + .main-content section .task-group-section .task-group:first-of-type .section-name { + padding-top: 15px; } + .main-content section .heading:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + +.section { + padding: 0 25px; } + +.highlight { + background-color: #eee; + padding: 10px 12px; + border: 1px solid #e2e2e2; + border-radius: 4px; + overflow-x: auto; } + +.declaration .highlight { + overflow-x: initial; + padding: 0 40px 40px 0; + margin-bottom: -25px; + background-color: transparent; + border: none; } + +.section-name { + margin: 0; + margin-left: 18px; } + +.task-group-section { + padding-left: 6px; + border-top: 1px solid #e2e2e2; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + .item code { + background-color: transparent; + padding: 0; } + .item .token { + padding-left: 3px; + margin-left: 15px; + font-size: 11.9px; } + .item .declaration-note { + font-size: .85em; + color: gray; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #e2e2e2; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + background: #f9f9f9; + border-left: 1px solid #e2e2e2; + border-top: 1px solid #e2e2e2; + height: 12px; + left: 21px; + top: -7px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + position: absolute; + width: 12px; } + +.height-container { + display: none; + left: -25px; + padding: 0 25px; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #f9f9f9; + border-bottom: 1px solid #e2e2e2; + left: -25px; + position: relative; + width: 100%; + padding-top: 10px; + padding-bottom: 5px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4b8afb; } + +.aside-warning { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #e2e2e2; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +#footer { + position: absolute; + bottom: 10px; + margin-left: 25px; } + #footer p { + margin: 0; + color: #aaa; + font-size: 0.8em; } + +html.dash header, html.dash #breadcrumbs, html.dash .sidebar { + display: none; } +html.dash .main-content { + width: 980px; + margin-left: 0; + border: none; + width: 100%; + top: 0; + padding-bottom: 0; } +html.dash .height-container { + display: block; } +html.dash .item .token { + margin-left: 0; } +html.dash .content-wrapper { + width: auto; } +html.dash #footer { + position: static; } diff --git a/docs/docsets/.docset/Contents/Info.plist b/docs/docsets/.docset/Contents/Info.plist new file mode 100644 index 0000000..61863ec --- /dev/null +++ b/docs/docsets/.docset/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleIdentifier + com.jazzy. + CFBundleName + + DocSetPlatformFamily + + isDashDocset + + dashIndexFilePath + index.html + isJavaScriptEnabled + + DashDocSetFamily + dashtoc + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html new file mode 100644 index 0000000..19e5903 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes.html @@ -0,0 +1,403 @@ + + + + Classes Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Classes

+

The following classes are available globally.

+ +
+
+
+
    +
  • +
    + + + + CollectionCell + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CollectionCell<ViewType, Layout> : UICollectionViewCell where ViewType : UIView, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FunctionalCollectionData : NSObject
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + Separator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class Separator : UIView
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + FunctionalTableData + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FunctionalTableData : NSObject
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableCell + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class TableCell<ViewType, Layout> : UITableViewCell where ViewType : UIView, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TableHeaderFooter + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class TableHeaderFooter<ViewType, Layout> : UITableViewHeaderFooterView where ViewType : UIView, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/CollectionCell.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/CollectionCell.html new file mode 100644 index 0000000..08570ec --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/CollectionCell.html @@ -0,0 +1,360 @@ + + + + CollectionCell Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CollectionCell

+
+
+
public class CollectionCell<ViewType, Layout> : UICollectionViewCell where ViewType : UIView, Layout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + view + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let view: ViewType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepare + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var prepare: ((ViewType) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    required public init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepareForReuse() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override func prepareForReuse()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html new file mode 100644 index 0000000..806c7b2 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData.html @@ -0,0 +1,1946 @@ + + + + FunctionalCollectionData Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

FunctionalCollectionData

+
+
+
public class FunctionalCollectionData : NSObject
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + exceptionHandler + +
    +
    +
    +
    +
    +
    +

    Specifies the desired exception handling behaviour.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var exceptionHandler: FunctionalTableDataExceptionHandler?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + KeyPath + +
    +
    +
    +
    +
    +
    +

    Represents the unique path to a given item in the FunctionalCollectionData.

    + +

    Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct KeyPath : Equatable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Index path for the previously selected row.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var indexPathForPreviouslySelectedRow: IndexPath?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + collectionView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var collectionView: UICollectionView? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public subscript(indexPath: IndexPath) -> CellConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isRendering + +
    +
    +
    +
    +
    +
    +

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isRendering: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil, fileName: String = #file, lineNumber: Int = #line)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowForKeyPath(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the cell identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func rowForKeyPath(_ keyPath: KeyPath) -> CellConfigType?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying the cell to look up.

    +
    +
    +
    +
    +

    Return Value

    +

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    +
    +
    +
    +
  • +
  • +
    + + + + keyPathForRowKey(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the key path specified by its string presentation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForRowKey(_ key: String) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    String identifier to lookup.

    +
    +
    +
    +
    +

    Return Value

    +

    A KeyPath that matches the key or nil if there is no match.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the key path of the cell in a given IndexPath location.

    + +

    Note: This method performs an unsafe lookup, make sure that the IndexPath exists +before trying to transform it into a KeyPath.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForIndexPath(indexPath: IndexPath) -> KeyPath
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + indexPath + + +
    +

    A key path identifying where the key path is located.

    +
    +
    +
    +
    +

    Return Value

    +

    The key representation of the supplied IndexPath.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @available(*, deprecated, message: "Call `scroll(to:animated:scrollPosition:﹚` in the completion handler instead.")
    +public func renderAndDiff(_ newSections: [TableSection], keyPath: KeyPath?, animated: Bool = true, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the collection with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + keyPath + + +
    +

    The key path identifying which cell to scroll into view after the render occurs.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the collection cells, or false if the UICollectionView should be updated with no animation.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UICollectionView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the collection with the specified sections, and asynchronously updates the collection view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func renderAndDiff(_ newSections: [TableSection], animated: Bool = true, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the collection with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the collection cells, or false if the UICollectionView should be updated with no animation.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UICollectionView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Selects a row in the collection view identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func select(keyPath: KeyPath, animated: Bool = true, scrollPosition: UICollectionViewScrollPosition = [], triggerDelegate: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the collection view.

    +
    +
    + + animated + + +
    +

    true if you want to animate the selection, and false if the change should be immediate.

    +
    +
    + + scrollPosition + + +
    +

    An option that specifies where the item should be positioned when scrolling finishes.

    +
    +
    + + triggerDelegate + + +
    +

    true to trigger the collection:didSelectItemAt: delegate from UICollectionView or false to skip it. Skipping it is the default UICollectionView behavior.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Scrolls to the item at the specified key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scroll(to keyPath: KeyPath, animated: Bool = true, scrollPosition: UICollectionViewScrollPosition = [.bottom, .right])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the collection view.

    +
    +
    + + animated + + +
    +

    true to animate to the new scroll position, or false to scroll immediately.

    +
    +
    + + scrollPosition + + +
    +

    Specifies where the item specified by keyPath should be positioned once scrolling finishes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + keyPath(at:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPath(at point: CGPoint) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + point + + +
    +

    The point in the collection view’s bounds that you want to test.

    +
    +
    +
    +
    +

    Return Value

    +

    the keypath of the item at the specified point, or nil if no item was found at that point.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPathFromKeyPath(_ keyPath: KeyPath) -> IndexPath?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + numberOfSections(in:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func numberOfSections(in collectionView: UICollectionView) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, moveItemAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, shouldHighlightItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, shouldShowMenuForItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, canPerformAction action: Selector, forItemAt indexPath: IndexPath, withSender sender: Any?) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, performAction action: Selector, forItemAt indexPath: IndexPath, withSender sender: Any?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, canMoveItemAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, targetIndexPathForMoveFromItemAt originalIndexPath: IndexPath, toProposedIndexPath proposedIndexPath: IndexPath) -> IndexPath
    + +
    +
    +
    +
    +
  • +
+
+
+ +
    +
  • + +
    +
    +
    +
    +
    +

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol +but will still get called on delegates that implement it. Because it is not publicly exposed, +the Swift 4 compiler will not automatically annotate it as @objc, requiring this manual annotation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +public func scrollViewDidChangeContentSize(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScroll(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDragging(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScrollToTop(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html new file mode 100644 index 0000000..4d5753b --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalCollectionData/KeyPath.html @@ -0,0 +1,335 @@ + + + + KeyPath Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

KeyPath

+
+
+
public struct KeyPath : Equatable
+ +
+
+

Represents the unique path to a given item in the FunctionalCollectionData.

+ +

Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

+ +
+
+
+
    +
  • +
    + + + + sectionKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let sectionKey: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for an item inside a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rowKey: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(sectionKey: String, rowKey: String)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: KeyPath, rhs: KeyPath) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html new file mode 100644 index 0000000..bc62566 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData.html @@ -0,0 +1,2364 @@ + + + + FunctionalTableData Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

FunctionalTableData

+
+
+
public class FunctionalTableData : NSObject
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + Exception + +
    +
    +
    +
    +
    +
    +

    A type that provides the information about an exception.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct Exception
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + exceptionHandler + +
    +
    +
    +
    +
    +
    +

    Specifies the desired exception handling behaviour.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var exceptionHandler: FunctionalTableDataExceptionHandler?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + KeyPath + +
    +
    +
    +
    +
    +
    +

    Represents the unique path to a given item in the FunctionalTableData.

    + +

    Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct KeyPath
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tableView + +
    +
    +
    +
    +
    +
    +

    Enclosing UITableView that presents all the TableSection data.

    + +

    FunctionalTableData will take care of setting its own UITableViewDelegate and +UITableViewDataSource and manage all the internals of the UITableView on its own.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var tableView: UITableView? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public subscript(indexPath: IndexPath) -> CellConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + scrollViewDidScroll + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScroll: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDragging: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillEndDragging: ((UIScrollView, CGPoint, UnsafeMutablePointer<CGPoint>) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDragging: ((UIScrollView, Bool) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewWillBeginDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndDecelerating: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidChangeContentSize: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidEndScrollingAnimation: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewShouldScrollToTop: ((UIScrollView) -> Bool)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var scrollViewDidScrollToTop: ((UIScrollView) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TableAnimations + +
    +
    +
    +
    +
    +
    +

    The type of animation when rows and sections are inserted or deleted.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableAnimations
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isRendering + +
    +
    +
    +
    +
    +
    +

    A Boolean value that returns true when a renderAndDiff pass is currently running.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isRendering: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(name: String? = nil, fileName: String = #file, lineNumber: Int = #line)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowForKeyPath(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the cell identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func rowForKeyPath(_ keyPath: KeyPath) -> CellConfigType?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying the cell to look up.

    +
    +
    +
    +
    +

    Return Value

    +

    A CellConfigType instance corresponding to the key path or nil if the key path is invalid.

    +
    +
    +
    +
  • +
  • +
    + + + + keyPathForRowKey(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the key path specified by its string presentation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForRowKey(_ key: String) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    String identifier to lookup.

    +
    +
    +
    +
    +

    Return Value

    +

    A KeyPath that matches the key or nil if there is no match.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the key path of the cell in a given IndexPath location.

    + +

    Note: This method performs an unsafe lookup, make sure that the IndexPath exists +before trying to transform it into a KeyPath.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPathForIndexPath(indexPath: IndexPath) -> KeyPath
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + indexPath + + +
    +

    A key path identifying where the key path is located.

    +
    +
    +
    +
    +

    Return Value

    +

    The key representation of the supplied IndexPath.

    +
    +
    +
    +
  • +
  • +
    + + + + rectForKeyPath(_:) + +
    +
    +
    +
    +
    +
    +

    Returns the drawing area for a row identified by key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func rectForKeyPath(_ keyPath: KeyPath) -> CGRect?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying the cell to look up.

    +
    +
    +
    +
    +

    Return Value

    +

    A rectangle defining the area in which the table view draws the row or nil if the key path is invalid.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func renderAndDiff(_ newSections: [TableSection], keyPath: KeyPath? = nil, reloadList: Bool, animated: Bool = true, animations: TableAnimations = .default, completion: (() -> Void)? = nil)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @available(*, deprecated, message: "Call `scroll(to:animated:scrollPosition:﹚` in the completion handler instead.")
    +public func renderAndDiff(_ newSections: [TableSection], keyPath: KeyPath?, animated: Bool = true, animations: TableAnimations = .default, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the table with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + keyPath + + +
    +

    The key path identifying which cell to scroll into view after the render occurs.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the table cells, or false if the UITableView should be updated with no animation.

    +
    +
    + + animations + + +
    +

    Type of animation to perform. See FunctionalTableData.TableAnimations for more info.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UITableView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Populates the table with the specified sections, and asynchronously updates the table view to reflect the cells and sections that have changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func renderAndDiff(_ newSections: [TableSection], animated: Bool = true, animations: TableAnimations = .default, completion: (() -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + newSections + + +
    +

    An array of TableSection instances to populate the table with. These will replace the previous sections and update any cells that have changed between the old and new sections.

    +
    +
    + + animated + + +
    +

    true to animate the changes to the table cells, or false if the UITableView should be updated with no animation.

    +
    +
    + + animations + + +
    +

    Type of animation to perform. See FunctionalTableData.TableAnimations for more info.

    +
    +
    + + completion + + +
    +

    Callback that will be called on the main thread once the UITableView has finished updating and animating any changes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Selects a row in the table view identified by a key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func select(keyPath: KeyPath, animated: Bool = true, scrollPosition: UITableViewScrollPosition = .none, triggerDelegate: Bool = false)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the table view.

    +
    +
    + + animated + + +
    +

    true if you want to animate the selection, and false if the change should be immediate.

    +
    +
    + + triggerDelegate + + +
    +

    true to trigger the tableView:didSelectRowAt: delegate from UITableView or false to skip it. Skipping it is the default UITableView behavior.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Scrolls to the item at the specified key path.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scroll(to keyPath: KeyPath, animated: Bool = true, scrollPosition: UITableViewScrollPosition = .bottom)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + keyPath + + +
    +

    A key path identifying a row in the table view.

    +
    +
    + + animated + + +
    +

    true to animate to the new scroll position, or false to scroll immediately.

    +
    +
    + + scrollPosition + + +
    +

    Specifies where the item specified by keyPath should be positioned once scrolling finishes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + keyPath(at:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func keyPath(at point: CGPoint) -> KeyPath?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + point + + +
    +

    The point in the collection view’s bounds that you want to test.

    +
    +
    +
    +
    +

    Return Value

    +

    the keypath of the item at the specified point, or nil if no item was found at that point.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPathFromKeyPath(_ keyPath: KeyPath) -> IndexPath?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + numberOfSections(in:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func numberOfSections(in tableView: UITableView) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, didEndDisplayingHeaderView view: UIView, forSection section: Int)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, shouldShowMenuForRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, canPerformAction action: Selector, forRowAt indexPath: IndexPath, withSender sender: Any?) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, performAction action: Selector, forRowAt indexPath: IndexPath, withSender sender: Any?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, targetIndexPathForMoveFromRowAt sourceIndexPath: IndexPath, toProposedIndexPath proposedDestinationIndexPath: IndexPath) -> IndexPath
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
    + +
    +
    +
    +
    +
  • +
+
+
+ +
    +
  • + +
    +
    +
    +
    +
    +

    This is an undocumented optional UIScrollViewDelegate method that is not exposed by the public protocol +but will still get called on delegates that implement it. Because it is not publicly exposed, +the Swift 4 compiler will not automatically annotate it as @objc, requiring this manual annotation.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +public func scrollViewDidChangeContentSize(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScroll(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDragging(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScrollToTop(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/Exception.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/Exception.html new file mode 100644 index 0000000..5d7189d --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/Exception.html @@ -0,0 +1,414 @@ + + + + Exception Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Exception

+
+
+
public struct Exception
+ +
+
+

A type that provides the information about an exception.

+ +
+
+
+
    +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let name: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + newSections + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let newSections: [TableSection]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + oldSections + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let oldSections: [TableSection]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + changes + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let changes: TableSectionChangeSet
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + visible + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let visible: [IndexPath]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewFrame + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let viewFrame: CGRect
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + reason + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let reason: String?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html new file mode 100644 index 0000000..82f1bb1 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/KeyPath.html @@ -0,0 +1,309 @@ + + + + KeyPath Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

KeyPath

+
+
+
public struct KeyPath
+ +
+
+

Represents the unique path to a given item in the FunctionalTableData.

+ +

Think of it as a readable implementation of IndexPath, that can be used to locate a given cell +or TableSection in the data set.

+ +
+
+
+
    +
  • +
    + + + + sectionKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let sectionKey: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowKey + +
    +
    +
    +
    +
    +
    +

    Unique identifier for an item inside a section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rowKey: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(sectionKey: String, rowKey: String)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations.html new file mode 100644 index 0000000..3eadd35 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations.html @@ -0,0 +1,307 @@ + + + + TableAnimations Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableAnimations

+
+
+
public struct TableAnimations
+ +
+
+

The type of animation when rows and sections are inserted or deleted.

+ +
+
+
+
    +
  • +
    + + + + Actions + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct Actions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + default + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var `default`: FunctionalTableData.TableAnimations
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(sections:rows:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(sections: Actions, rows: Actions)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations/Actions.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations/Actions.html new file mode 100644 index 0000000..1d16d93 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/FunctionalTableData/TableAnimations/Actions.html @@ -0,0 +1,306 @@ + + + + Actions Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Actions

+
+
+
public struct Actions
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + default + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let `default`: FunctionalTableData.TableAnimations.Actions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + legacy + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let legacy: FunctionalTableData.TableAnimations.Actions
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(insert: UITableViewRowAnimation, delete: UITableViewRowAnimation, reload: UITableViewRowAnimation)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html new file mode 100644 index 0000000..0431d96 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator.html @@ -0,0 +1,443 @@ + + + + Separator Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Separator

+
+
+
public class Separator : UIView
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + inset + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var inset: CGFloat
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Style + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Style
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Tag + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Tag : Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(style:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init(style: Style)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func constrainToTopOfView(_ view: UIView, constant: CGFloat = 0)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func constrainToBottomOfView(_ view: UIView, constant: CGFloat = 0)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Style.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Style.html new file mode 100644 index 0000000..a7a1d1a --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Style.html @@ -0,0 +1,333 @@ + + + + Style Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Style

+
+
+
public enum Style
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + full + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case full
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + inset + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case inset
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + moreInset + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case moreInset
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + insetDistance + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var insetDistance: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Tag.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Tag.html new file mode 100644 index 0000000..efd8dd3 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/Separator/Tag.html @@ -0,0 +1,279 @@ + + + + Tag Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Tag

+
+
+
public enum Tag : Int
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + top + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case top = 2318
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottom + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case bottom = 9773
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/TableCell.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/TableCell.html new file mode 100644 index 0000000..433b9eb --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/TableCell.html @@ -0,0 +1,387 @@ + + + + TableCell Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableCell

+
+
+
public class TableCell<ViewType, Layout> : UITableViewCell where ViewType : UIView, Layout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + view + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let view: ViewType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepare + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var prepare: ((ViewType) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override init(style: UITableViewCellStyle, reuseIdentifier: String?)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prepareForReuse() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override func prepareForReuse()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override func accessibilityElementCount() -> Int
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Classes/TableHeaderFooter.html b/docs/docsets/.docset/Contents/Resources/Documents/Classes/TableHeaderFooter.html new file mode 100644 index 0000000..36884cf --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Classes/TableHeaderFooter.html @@ -0,0 +1,360 @@ + + + + TableHeaderFooter Class Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableHeaderFooter

+
+
+
public class TableHeaderFooter<ViewType, Layout> : UITableViewHeaderFooterView where ViewType : UIView, Layout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + view + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let view: ViewType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let topSeparator: Separator
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let bottomSeparator: Separator
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override init(reuseIdentifier: String?)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder aDecoder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums.html new file mode 100644 index 0000000..16f86d6 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums.html @@ -0,0 +1,275 @@ + + + + Enumerations Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+
+
    +
  • +
    + + + + EdgeLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum EdgeLayout
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + MarginsLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum MarginsLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout.html new file mode 100644 index 0000000..85c0a1a --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout.html @@ -0,0 +1,281 @@ + + + + EdgeLayout Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

EdgeLayout

+
+
+
public enum EdgeLayout
+ +
+
+

Undocumented

+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Horizontal.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Horizontal.html new file mode 100644 index 0000000..2c6a04f --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Horizontal.html @@ -0,0 +1,252 @@ + + + + Horizontal Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Horizontal

+
+
+
public struct Horizontal : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Vertical.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Vertical.html new file mode 100644 index 0000000..9f87124 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/EdgeLayout/Vertical.html @@ -0,0 +1,252 @@ + + + + Vertical Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Vertical

+
+
+
public struct Vertical : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout.html new file mode 100644 index 0000000..e4ed1a3 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout.html @@ -0,0 +1,281 @@ + + + + MarginsLayout Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

MarginsLayout

+
+
+
public enum MarginsLayout
+ +
+
+

Undocumented

+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Horizontal.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Horizontal.html new file mode 100644 index 0000000..7a5feea --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Horizontal.html @@ -0,0 +1,252 @@ + + + + Horizontal Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Horizontal

+
+
+
public struct Horizontal : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Vertical.html b/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Vertical.html new file mode 100644 index 0000000..0560059 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Enums/MarginsLayout/Vertical.html @@ -0,0 +1,252 @@ + + + + Vertical Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Vertical

+
+
+
public struct Vertical : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html new file mode 100644 index 0000000..28496be --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html @@ -0,0 +1,339 @@ + + + + Extensions Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Extensions

+

The following extensions are available globally.

+ +
+
+
+
    +
  • +
    + + + + UICollectionView + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class UICollectionView : UIScrollView, UIDataSourceTranslating
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + NSException + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class NSException : NSObject, NSCopying, NSCoding
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + UIView + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class UIView : UIResponder, NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + UITableView + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class UITableView : UIScrollView, NSCoding, UIDataSourceTranslating
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/NSException.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/NSException.html new file mode 100644 index 0000000..fa2b8d2 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/NSException.html @@ -0,0 +1,251 @@ + + + + NSException Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

NSException

+
+
+
class NSException : NSObject, NSCopying, NSCoding
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func catchAndRethrow(_ block: () -> Void, failure: (_ exception: NSException) -> Void)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html new file mode 100644 index 0000000..f4f76b4 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UICollectionView.html @@ -0,0 +1,407 @@ + + + + UICollectionView Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

UICollectionView

+
+
+
class UICollectionView : UIScrollView, UIDataSourceTranslating
+ +
+
+ +
+
+
+
    +
  • +
    + + + + render() + +
    +
    +
    +
    +
    +
    +

    Initiates a layout pass of UICollectionView and its items. Necessary for calculating new +cell heights and animations when the internal state of a cell changes and needs to reflect +them immediately.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func render()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deselects the previously selected row, with an option to animate the deselection.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func deselectLastSelectedItem(animated: Bool)
    + +
    +
    +
    +

    Parameters

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

    true to animate the deselection, or false if the change should be immediate.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + indexPath(for:) + +
    +
    +
    +
    +
    +
    +

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UICollectionViewCell, or if that cell is not a child of self

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPath(for view: UIView) -> IndexPath?
    + +
    +
    +
    +

    Parameters

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

    The view to find the IndexPath.

    +
    +
    +
    +
    +

    Return Value

    +

    The IndexPath of the view in the UICollectionView or nil if it could not be found.

    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func registerReusableCell<T>(_ cellType: T.Type) where T : UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func dequeueReusableCell<T: UICollectionViewCell>(_ cellType: T.Type = T.self, indexPath: IndexPath) -> T
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html new file mode 100644 index 0000000..d510a05 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UITableView.html @@ -0,0 +1,479 @@ + + + + UITableView Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

UITableView

+
+
+
class UITableView : UIScrollView, NSCoding, UIDataSourceTranslating
+ +
+
+ +
+
+
+
    +
  • +
    + + + + render() + +
    +
    +
    +
    +
    +
    +

    Initiates a layout pass of UITableView and its items. Necessary for calculating new +cell heights and animations when the internal state of a cell changes and needs to reflect +them immediately.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func render()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deselects the previously selected row, with an option to animate the deselection.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func deselectLastSelectedRow(animated: Bool)
    + +
    +
    +
    +

    Parameters

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

    true to animate the deselection, or false if the change should be immediate.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + indexPath(for:) + +
    +
    +
    +
    +
    +
    +

    Find the IndexPath for a particular view. Returns nil if the view is not an instance of, or a subview of UITableViewCell, or if that cell is not a child of self

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func indexPath(for view: UIView) -> IndexPath?
    + +
    +
    +
    +

    Parameters

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

    The view to find the IndexPath.

    +
    +
    +
    +
    +

    Return Value

    +

    The IndexPath of the view in the UITableView or nil if it could not be found.

    +
    +
    +
    +
  • +
+
+
+ +
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func registerReusableHeaderFooterView<T>(_ headerType: T.Type) where T : UITableViewHeaderFooterView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func dequeueReusableHeaderFooterView<T: UITableViewHeaderFooterView>(_ headerType: T.Type = T.self) -> T
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + + +

Cells

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func registerReusableCell<T>(_ cellType: T.Type) where T : UITableViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    final func dequeueReusableCell<T: UITableViewCell>(_ cellType: T.Type = T.self, indexPath: IndexPath?) -> T
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html new file mode 100644 index 0000000..b93aceb --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/UIView.html @@ -0,0 +1,305 @@ + + + + UIView Extension Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

UIView

+
+
+
class UIView : UIResponder, NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func applyTopSeparator(_ style: Separator.Style, color: UIColor? = nil)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func applyBottomSeparator(_ style: Separator.Style, color: UIColor? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + removeSeparator(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func removeSeparator(_ withTag: Separator.Tag)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html new file mode 100644 index 0000000..7e9f15c --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols.html @@ -0,0 +1,514 @@ + + + + Protocols Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+
+
    +
  • +
    + + + + CellConfigType + +
    +
    +
    +
    +
    +
    +

    A type that provides the information required by FunctionalTableData to generate cells.

    + +

    The key property should be a unique String for the section that the item is contained in. It should also be representative of the item and not just a random value or UUID. This is because on an update pass the key is used to determine if an item has been added, moved, or removed from the data set. Using a stable value means that this can correctly be determined.

    + +

    The isEqual function is used to determine if two CellConfigType’s have matching keys and they represent the same data. This allows the system to update the views state directly when something has changed instead of forcing a reload of the entire cell all the time.

    + +

    When two items have matching key values but the isEqual call between old and new returns false the update function is called. It is the responsibility of this function to update the cell, and any subviews of the cell, to reflect the state.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CellConfigType : CollectionItemConfigType, TableItemConfigType
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CollectionItemConfigType
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + Reusable + +
    +
    +
    +
    +
    +
    +

    A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol Reusable : AnyObject
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableItemLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableSectionType + +
    +
    +
    +
    +
    +
    +

    A type with the information about a section.

    + +

    FunctionalTableData deals in arrays of TableSection instances. Each section, at a minimum, has a string value unique within the table itself, and an array of CellConfigType instances that represent the rows of the section. Additionally there may be a header and footer for the section.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TableSectionType
    + +
    +
    +
    +
    +
  • +
+
+
+ + +
+
+
    +
  • + +
    +
    +
    +
    +
    +

    A type that provides the debugging information when an exception occurs.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol FunctionalTableDataExceptionHandler
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableItemConfigType + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TableItemConfigType
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html new file mode 100644 index 0000000..7aa7814 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CellConfigType.html @@ -0,0 +1,507 @@ + + + + CellConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CellConfigType

+
+
+
public protocol CellConfigType : CollectionItemConfigType, TableItemConfigType
+ +
+
+

A type that provides the information required by FunctionalTableData to generate cells.

+ +

The key property should be a unique String for the section that the item is contained in. It should also be representative of the item and not just a random value or UUID. This is because on an update pass the key is used to determine if an item has been added, moved, or removed from the data set. Using a stable value means that this can correctly be determined.

+ +

The isEqual function is used to determine if two CellConfigType’s have matching keys and they represent the same data. This allows the system to update the views state directly when something has changed instead of forcing a reload of the entire cell all the time.

+ +

When two items have matching key values but the isEqual call between old and new returns false the update function is called. It is the responsibility of this function to update the cell, and any subviews of the cell, to reflect the state.

+ +
+
+
+
    +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    +

    Unique identifier for the cell.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var key: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + style + +
    +
    +
    +
    +
    +
    +

    Indicates a cell style. See CellStyle for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var style: CellStyle? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + actions + +
    +
    +
    +
    +
    +
    +

    Indicates all the possible actions a cell can perform. See CellActions for more information.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var actions: CellActions { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    +

    Update the view state of a UITableViewCell. It is up to implementors of the protocol to determine what this means.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func update(cell: UITableViewCell, in tableView: UITableView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cell + + +
    +

    A cell view that was dequeued from the UITableView.

    +
    +
    + + tableView + + +
    +

    The UITableView object holding this cell.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    +

    Update the view state of a UICollectionViewCell. It is up to implementors of the protocol to determine what this means.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func update(cell: UICollectionViewCell, in collectionView: UICollectionView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cell + + +
    +

    A cell view that was dequeued from the UICollectionView.

    +
    +
    + + collectionView + + +
    +

    The UICollectionView object holding this cell.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + isEqual(_:) + +
    +
    +
    +
    +
    +
    +

    Compares two cells for equality. Cells will be considered equal if they are of the same type and their states also compare equal.

    + +

    Cell equality is used during rendering to determine when an existing cell’s view needs to be updated with new data.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func isEqual(_ other: CellConfigType) -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + other + + +
    +

    the value to compare against.

    +
    +
    +
    +
    +

    Return Value

    +

    true when both values are the same, false otherwise.

    +
    +
    +
    +
  • +
  • +
    + + + + debugInfo() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func debugInfo() -> [String : Any]
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CollectionItemConfigType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CollectionItemConfigType.html new file mode 100644 index 0000000..816777b --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/CollectionItemConfigType.html @@ -0,0 +1,287 @@ + + + + CollectionItemConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CollectionItemConfigType

+
+
+
public protocol CollectionItemConfigType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func register(with collectionView: UICollectionView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +

    Default Implementation

    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func dequeueCell(from collectionView: UICollectionView, at indexPath: IndexPath) -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html new file mode 100644 index 0000000..2cc869f --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/FunctionalTableDataExceptionHandler.html @@ -0,0 +1,272 @@ + + + + FunctionalTableDataExceptionHandler Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

FunctionalTableDataExceptionHandler

+
+
+
public protocol FunctionalTableDataExceptionHandler
+ +
+
+

A type that provides the debugging information when an exception occurs.

+ +
+
+
+
    +
  • +
    + + + + handle(exception:) + +
    +
    +
    +
    +
    +
    +

    Handles the exception. This is only for debugging purposes, and commonly used +by storing the state information into the filesystem for a developer review.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func handle(exception: FunctionalTableData.Exception)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + exception + + +
    +

    The type of the exception that occurred

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html new file mode 100644 index 0000000..df1e4bb --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/Reusable.html @@ -0,0 +1,259 @@ + + + + Reusable Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Reusable

+
+
+
public protocol Reusable : AnyObject
+ +
+
+

A type that identifies a dequeueable object. Used by FunctionalTableData to increase performance by reusing objects when it needs to, just like UITableView and UICollectionView.

+ +
+
+
+
    +
  • +
    + + + + reuseIdentifier + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Unique identifier for the object.

    + +
    +

    Default Implementation

    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static var reuseIdentifier: String { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterConfigType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterConfigType.html new file mode 100644 index 0000000..0e2bcf1 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterConfigType.html @@ -0,0 +1,279 @@ + + + + TableHeaderFooterConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableHeaderFooterConfigType

+
+
+
public protocol TableHeaderFooterConfigType : TableItemConfigType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func dequeueHeaderFooter(from tableView: UITableView) -> UITableViewHeaderFooterView?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + height + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var height: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterStateType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterStateType.html new file mode 100644 index 0000000..b78d147 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableHeaderFooterStateType.html @@ -0,0 +1,333 @@ + + + + TableHeaderFooterStateType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableHeaderFooterStateType

+
+
+
public protocol TableHeaderFooterStateType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + insets + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var insets: UIEdgeInsets { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + height + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var height: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topSeparatorHidden + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var topSeparatorHidden: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomSeparatorHidden + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var bottomSeparatorHidden: Bool { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemConfigType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemConfigType.html new file mode 100644 index 0000000..dd59fb2 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemConfigType.html @@ -0,0 +1,287 @@ + + + + TableItemConfigType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableItemConfigType

+
+
+
public protocol TableItemConfigType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func register(with tableView: UITableView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +

    Default Implementation

    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func dequeueCell(from tableView: UITableView, at indexPath: IndexPath) -> UITableViewCell
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemLayout.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemLayout.html new file mode 100644 index 0000000..2383c35 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableItemLayout.html @@ -0,0 +1,252 @@ + + + + TableItemLayout Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableItemLayout

+
+
+
public protocol TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html new file mode 100644 index 0000000..27ed6ce --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Protocols/TableSectionType.html @@ -0,0 +1,416 @@ + + + + TableSectionType Protocol Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSectionType

+
+
+
public protocol TableSectionType
+ +
+
+

A type with the information about a section.

+ +

FunctionalTableData deals in arrays of TableSection instances. Each section, at a minimum, has a string value unique within the table itself, and an array of CellConfigType instances that represent the rows of the section. Additionally there may be a header and footer for the section.

+ +
+
+
+
    +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    +

    Unique identifier for the section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var key: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + header + +
    +
    +
    +
    +
    +
    +

    View object to display in the header of this section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var header: TableHeaderFooterConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + footer + +
    +
    +
    +
    +
    +
    +

    View object to display in the footer of this section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var footer: TableHeaderFooterConfigType? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rows + +
    +
    +
    +
    +
    +
    +

    Instances of CellConfigType that represent the rows in the table view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var rows: [CellConfigType] { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Action to perform when the header view comes in or out of view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var headerVisibilityAction: ((_ view: UIView, _ visible: Bool) -> Void)? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowCount + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var rowCount: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    subscript(index: Int) -> CellConfigType { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html new file mode 100644 index 0000000..5f2d0a5 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html @@ -0,0 +1,503 @@ + + + + Structures Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Structures

+

The following structures are available globally.

+ +
+
+
+
    +
  • +
    + + + + CellActions + +
    +
    +
    +
    +
    +
    +

    The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CellActions
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + CellStyle + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CellStyle
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + HostCell + +
    +
    +
    +
    +
    +
    +

    Defines the view, state and layout information of a row item inside a TableSection. +It relies on you to build UIView subclasses and use those instead of implementing UITableViewCell or UICollectionViewCell subclasses. This has the side effect of building better more reusable view components. This greatly simplifies composition by combining several host-cells into more complex layouts. It also makes equality simpler and more Swifty by requiring that anything provided as State only requires that the State object conform to the Equatable protocol. The View portion of the generic only requires it to be a UIView subclass.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct HostCell<View, State, Layout> : CellConfigType where View : UIView, State : Equatable, Layout : TableItemLayout
    + +
    +
    +
    +
    +
  • +
+
+
+ +
+
+
    +
  • +
    + + + + TableSection + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableSection : Sequence, TableSectionType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SectionStyle + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct SectionStyle : Equatable
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + TableSectionChangeSet + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableSectionChangeSet
    + +
    +
    +
    +
    +
  • +
+
+
+ + +
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html new file mode 100644 index 0000000..a720423 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions.html @@ -0,0 +1,774 @@ + + + + CellActions Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CellActions

+
+
+
public struct CellActions
+ +
+
+

The actions property exposed on the CellConfigType represents possible events that will be executed based on the users interaction with that particular cell. Of note are the selectionAction and previewingViewControllerAction. The selectionAction is executed when the user taps on that particular cell. The main use case for this is present a new detail view controller or a modal (but is not constrained to these actions, these are just the common use cases). The previewingViewControllerAction is responsible for returning an instance of a UIViewController that will be shown when a user 3D-touches on a cell.

+ +
+
+
+
    +
  • +
    + + + + SelectionState + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum SelectionState
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CanSelectCallback + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CanSelectCallback = (Bool) -> Void
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CanSelectAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CanSelectAction = (_ canSelect: @escaping CanSelectCallback) -> Void
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SelectionAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias SelectionAction = (_ sender: UIView) -> SelectionState
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + DeselectionAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias DeselectionAction = (_ sender: UIView) -> SelectionState
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CanPerformAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CanPerformAction = (_ selector: Selector) -> Bool
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + VisibilityAction + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias VisibilityAction = (_ cell: UIView, _ visible: Bool) -> Void
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Closure type that is executed when the user 3D-touches on a cell

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PreviewingViewControllerAction = (_ cell: UIView, _ point: CGPoint, _ context: UIViewControllerPreviewing) -> UIViewController?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + cell + + +
    +

    the cell in which the 3D-touch occured

    +
    +
    + + point + + +
    +

    The point where the 3D-touch occured, translated to the coordinate space of the cell

    +
    +
    + + context + + +
    +

    The instance of UIViewControllerPreviewing that is participating in the 3D-touch

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + canSelectAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell will be selected.

    +
    +

    Important

    + When the canSelectAction is called, it is passed a CanSelectCallback closure. It is the responsibility of the action to eventually call the passed in closure providing either a true or false value to it. This passed in value determines if the selection will be performed or not. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let canSelectAction: CanSelectAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + selectionAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell is selected

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let selectionAction: SelectionAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + deselectionAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell is deselected

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let deselectionAction: SelectionAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rowActions + +
    +
    +
    +
    +
    +
    +

    All the available row actions this cell can perform. See UITableViewRowAction for more info.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rowActions: [UITableViewRowAction]?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + canPerformAction + +
    +
    +
    +
    +
    +
    +

    Indicates if the cell can perform a given action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let canPerformAction: CanPerformAction?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + canBeMoved + +
    +
    +
    +
    +
    +
    +

    Indicates if the cell can be manually moved by the user.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let canBeMoved: Bool
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + visibilityAction + +
    +
    +
    +
    +
    +
    +

    The action to perform when the cell becomes visible.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let visibilityAction: VisibilityAction?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The action to perform when the cell is 3D touched by the user.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let previewingViewControllerAction: PreviewingViewControllerAction?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(canSelectAction: CanSelectAction? = nil,
    +			selectionAction: SelectionAction? = nil,
    +			deselectionAction: DeselectionAction? = nil,
    +			rowActions: [UITableViewRowAction]? = nil,
    +			canPerformAction: CanPerformAction? = nil,
    +			canBeMoved: Bool = false,
    +			visibilityAction: VisibilityAction? = nil,
    +			previewingViewControllerAction: PreviewingViewControllerAction? = nil)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(canSelectAction: CanSelectAction? = nil,
    +			selectionAction: SelectionAction? = nil,
    +			deselectionAction: DeselectionAction? = nil,
    +			rowActions: [UITableViewRowAction]? = nil,
    +			canPerformAction: CanPerformAction? = nil,
    +			canBeMoved: Bool = false,
    +			visibilityAction: VisibilityAction? = nil,
    +			previewingViewControllerAction: @escaping () -> UIViewController?)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions/SelectionState.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions/SelectionState.html new file mode 100644 index 0000000..3b84114 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellActions/SelectionState.html @@ -0,0 +1,279 @@ + + + + SelectionState Enumeration Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

SelectionState

+
+
+
public enum SelectionState
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + selected + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case selected
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + deselected + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case deselected
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html new file mode 100644 index 0000000..4798685 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CellStyle.html @@ -0,0 +1,616 @@ + + + + CellStyle Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CellStyle

+
+
+
public struct CellStyle
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + selectionColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static var selectionColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var bottomSeparator: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topSeparator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var topSeparator: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + separatorColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var separatorColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + highlight + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var highlight: Bool?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + accessoryType + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var accessoryType: UITableViewCellAccessoryType
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + selectionColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var selectionColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + backgroundColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var backgroundColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + backgroundView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var backgroundView: UIView?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tintColor + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var tintColor: UIColor?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutMargins + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var layoutMargins: UIEdgeInsets?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cornerRadius + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var cornerRadius: CGFloat
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(topSeparator: Separator.Style? = nil,
    +            bottomSeparator: Separator.Style? = nil,
    +            separatorColor: UIColor? = nil,
    +            highlight: Bool? = nil,
    +            accessoryType: UITableViewCellAccessoryType = .none,
    +            selectionColor: UIColor? = CellStyle.selectionColor,
    +            backgroundColor: UIColor? = nil,
    +            backgroundView: UIView? = nil,
    +            tintColor: UIColor? = nil,
    +            layoutMargins: UIEdgeInsets? = nil,
    +            cornerRadius: CGFloat = 0)
    + +
    +
    +
    +
    +
  • +
+
+
+
    +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: CellStyle, rhs: CellStyle) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/CombinedLayout.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CombinedLayout.html new file mode 100644 index 0000000..c0e5677 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/CombinedLayout.html @@ -0,0 +1,252 @@ + + + + CombinedLayout Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

CombinedLayout

+
+
+
public struct CombinedLayout<Horizontal, Vertical> : TableItemLayout where Horizontal : TableItemLayout, Vertical : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/ExplicitLayoutMarginsTableItemLayout.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ExplicitLayoutMarginsTableItemLayout.html new file mode 100644 index 0000000..b18a832 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/ExplicitLayoutMarginsTableItemLayout.html @@ -0,0 +1,252 @@ + + + + ExplicitLayoutMarginsTableItemLayout Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

ExplicitLayoutMarginsTableItemLayout

+
+
+
public struct ExplicitLayoutMarginsTableItemLayout : TableItemLayout
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func layoutView(_ view: UIView, inContentView contentView: UIView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html new file mode 100644 index 0000000..9fb36d8 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/HostCell.html @@ -0,0 +1,813 @@ + + + + HostCell Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

HostCell

+
+
+
public struct HostCell<View, State, Layout> : CellConfigType where View : UIView, State : Equatable, Layout : TableItemLayout
+ +
+
+

Defines the view, state and layout information of a row item inside a TableSection. +It relies on you to build UIView subclasses and use those instead of implementing UITableViewCell or UICollectionViewCell subclasses. This has the side effect of building better more reusable view components. This greatly simplifies composition by combining several host-cells into more complex layouts. It also makes equality simpler and more Swifty by requiring that anything provided as State only requires that the State object conform to the Equatable protocol. The View portion of the generic only requires it to be a UIView subclass.

+ +
+
+
+
    +
  • +
    + + + + TableViewCellType + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias TableViewCellType = TableCell<View, Layout>
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias CollectionViewCellType = CollectionCell<View, Layout>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let key: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + style + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var style: CellStyle?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + actions + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let actions: CellActions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + state + +
    +
    +
    +
    +
    +
    +

    Contains the state information of a cell.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let state: State
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cellUpdater + +
    +
    +
    +
    +
    +
    +

    A function that updates a cell’s view to match the current state. It receives two values, the view instance and an optional state instance. The purpose of this function is to update the view to reflect that of the given state. The reason that the state is optional is because cells may move into the reuse queue. When this happens they no longer have a state and the updater function is called giving the opportunity to reset the view to its default value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cellUpdater: (_ view: View, _ state: State?) -> Void
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(key: String, style: CellStyle? = nil, actions: CellActions = CellActions(), state: State, cellUpdater: @escaping (_ view: View, _ state: State?) -> Void)
    + +
    +
    +
    +
    +
  • +
+
+
+ +
    +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Registers the instance of this HostCell for use in creating new table cells.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func register(with tableView: UITableView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + tableView + + +
    +

    the UITableView to register the cell with.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Registers the instance of this HostCell for use in creating new table cells.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func register(with collectionView: UICollectionView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + collectionView + + +
    +

    the UICollectionView to register the cell with.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + +
    +
    +
    +
    +
    +
    +

    Returns a reusable UITableView cell object for the specified reuse identifier and adds it to the table.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func dequeueCell(from tableView: UITableView, at indexPath: IndexPath) -> UITableViewCell
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + tableView + + +
    +

    the UITableView holding the cells.

    +
    +
    + + indexPath + + +
    +

    The index path specifying the location of the cell.

    +
    +
    +
    +
    +

    Return Value

    +

    A UITableViewCell object that exists in the reusable-cell queue.

    +
    +
    +
    +
  • +
  • +
    + + + + dequeueCell(from:at:) + +
    +
    +
    +
    +
    +
    +

    Returns a reusable UICollectionView cell object for the specified reuse identifier and adds it to the collection.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func dequeueCell(from collectionView: UICollectionView, at indexPath: IndexPath) -> UICollectionViewCell
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + collectionView + + +
    +

    the UICollectionView holding the cells.

    +
    +
    + + indexPath + + +
    +

    The index path specifying the location of the cell.

    +
    +
    +
    +
    +

    Return Value

    +

    A UICollectionViewCell object that exists in the reusable-cell queue.

    +
    +
    +
    +
  • +
+
+
+ +
    +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func update(cell: UITableViewCell, in tableView: UITableView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + update(cell:in:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func update(cell: UICollectionViewCell, in collectionView: UICollectionView)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isEqual(_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func isEqual(_ other: CellConfigType) -> Bool
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + debugInfo() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func debugInfo() -> [String : Any]
    + +
    +
    +
    +
    +
  • +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle.html new file mode 100644 index 0000000..87e7fe8 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle.html @@ -0,0 +1,333 @@ + + + + SectionStyle Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

SectionStyle

+
+
+
public struct SectionStyle : Equatable
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + Separators + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct Separators : Equatable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + separators + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var separators: Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(separators:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(separators: Separators)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: SectionStyle, rhs: SectionStyle) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle/Separators.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle/Separators.html new file mode 100644 index 0000000..805050c --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/SectionStyle/Separators.html @@ -0,0 +1,440 @@ + + + + Separators Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Separators

+
+
+
public struct Separators : Equatable
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + default + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let `default`: SectionStyle.Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + topAndBottom + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let topAndBottom: SectionStyle.Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + full + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let full: SectionStyle.Separators
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + top + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var top: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottom + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var bottom: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + interitem + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var interitem: Separator.Style?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(top: Separator.Style? = nil, bottom: Separator.Style? = nil, interitem: Separator.Style? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: Separators, rhs: Separators) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html new file mode 100644 index 0000000..5e65170 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSection.html @@ -0,0 +1,673 @@ + + + + TableSection Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSection

+
+
+
public struct TableSection : Sequence, TableSectionType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + key + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let key: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + header + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var header: TableHeaderFooterConfigType?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + footer + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var footer: TableHeaderFooterConfigType?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + rows + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var rows: [CellConfigType]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + style + +
    +
    +
    +
    +
    +
    +

    Specifies visual attributes to be applied to the section. This includes row separators to use at the top, bottom, and between items of the section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var style: SectionStyle?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var headerVisibilityAction: ((UIView, Bool) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + didMoveRow + +
    +
    +
    +
    +
    +
    +

    Callback executed when a row is manually moved by the user. It specifies the before and after index position.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var didMoveRow: ((Int, Int) -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(key: String, rows: [CellConfigType] = [], header: TableHeaderFooterConfigType? = nil, footer: TableHeaderFooterConfigType? = nil, style: SectionStyle? = nil, didMoveRow: ((_ from: Int, _ to: Int) -> Void)? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + subscript(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public subscript(index: Int) -> CellConfigType { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + append(_:) + +
    +
    +
    +
    +
    +
    +

    Adds a row to the end of the array of rows.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public mutating func append(_ row: CellConfigType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + row + + +
    +

    CellConfigType instance to append the array of rows.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + rowCount + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var rowCount: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + makeIterator() + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeIterator() -> AnyIterator<CellConfigType>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + mergedStyle(for:) + +
    +
    +
    +
    +
    +
    +

    Attempts to merge the separator’s style provided by a TableSection with the separator’s style provided by an instance of CellConfigType.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func mergedStyle(for row: Int) -> CellStyle?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + row + + +
    +

    Integer identifying the position of the row in the section.

    +
    +
    +
    +
    +

    Return Value

    +

    The CellStyle of the cell merged with the style of the section.

    +
    +
    +
    +
  • +
+
+
+ +
+
+
    +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: TableSection, rhs: TableSection) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionChangeSet.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionChangeSet.html new file mode 100644 index 0000000..8d7042b --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionChangeSet.html @@ -0,0 +1,306 @@ + + + + TableSectionChangeSet Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSectionChangeSet

+
+
+
public struct TableSectionChangeSet
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + isEmpty + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isEmpty: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + count + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var count: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + jsonDebugInfo() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func jsonDebugInfo() -> [String : Any]
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionHeaderFooter.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionHeaderFooter.html new file mode 100644 index 0000000..4c20c9b --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/TableSectionHeaderFooter.html @@ -0,0 +1,387 @@ + + + + TableSectionHeaderFooter Structure Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

TableSectionHeaderFooter

+
+
+
public struct TableSectionHeaderFooter<ViewType, Layout, S> : TableHeaderFooterConfigType where ViewType : UIView, Layout : TableItemLayout, S : TableHeaderFooterStateType
+ +
+
+

Undocumented

+ +
+
+
+
    +
  • +
    + + + + ViewUpdater + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias ViewUpdater = (_ header: TableHeaderFooter<ViewType, Layout>, _ state: S) -> Void
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + state + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let state: S?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(state:updater:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(state: S? = nil, updater: ViewUpdater? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + register(with:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func register(with tableView: UITableView)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func dequeueHeaderFooter(from tableView: UITableView) -> UITableViewHeaderFooterView?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + height + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var height: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html b/docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html new file mode 100644 index 0000000..efb7ac4 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html @@ -0,0 +1,311 @@ + + + + Type Aliases Reference + + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+

Type Aliases

+

The following type aliases are available globally.

+ +
+
+
+ +
+
+ + +
+
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css b/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 0000000..d0db0e1 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css @@ -0,0 +1,200 @@ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight { + /* Comment */ + /* Error */ + /* Keyword */ + /* Operator */ + /* Comment.Multiline */ + /* Comment.Preproc */ + /* Comment.Single */ + /* Comment.Special */ + /* Generic.Deleted */ + /* Generic.Deleted.Specific */ + /* Generic.Emph */ + /* Generic.Error */ + /* Generic.Heading */ + /* Generic.Inserted */ + /* Generic.Inserted.Specific */ + /* Generic.Output */ + /* Generic.Prompt */ + /* Generic.Strong */ + /* Generic.Subheading */ + /* Generic.Traceback */ + /* Keyword.Constant */ + /* Keyword.Declaration */ + /* Keyword.Pseudo */ + /* Keyword.Reserved */ + /* Keyword.Type */ + /* Literal.Number */ + /* Literal.String */ + /* Name.Attribute */ + /* Name.Builtin */ + /* Name.Class */ + /* Name.Constant */ + /* Name.Entity */ + /* Name.Exception */ + /* Name.Function */ + /* Name.Namespace */ + /* Name.Tag */ + /* Name.Variable */ + /* Operator.Word */ + /* Text.Whitespace */ + /* Literal.Number.Float */ + /* Literal.Number.Hex */ + /* Literal.Number.Integer */ + /* Literal.Number.Oct */ + /* Literal.String.Backtick */ + /* Literal.String.Char */ + /* Literal.String.Doc */ + /* Literal.String.Double */ + /* Literal.String.Escape */ + /* Literal.String.Heredoc */ + /* Literal.String.Interpol */ + /* Literal.String.Other */ + /* Literal.String.Regex */ + /* Literal.String.Single */ + /* Literal.String.Symbol */ + /* Name.Builtin.Pseudo */ + /* Name.Variable.Class */ + /* Name.Variable.Global */ + /* Name.Variable.Instance */ + /* Literal.Number.Integer.Long */ } + .highlight .c { + color: #999988; + font-style: italic; } + .highlight .err { + color: #a61717; + background-color: #e3d2d2; } + .highlight .k { + color: #000000; + font-weight: bold; } + .highlight .o { + color: #000000; + font-weight: bold; } + .highlight .cm { + color: #999988; + font-style: italic; } + .highlight .cp { + color: #999999; + font-weight: bold; } + .highlight .c1 { + color: #999988; + font-style: italic; } + .highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + .highlight .gd { + color: #000000; + background-color: #ffdddd; } + .highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + .highlight .ge { + color: #000000; + font-style: italic; } + .highlight .gr { + color: #aa0000; } + .highlight .gh { + color: #999999; } + .highlight .gi { + color: #000000; + background-color: #ddffdd; } + .highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + .highlight .go { + color: #888888; } + .highlight .gp { + color: #555555; } + .highlight .gs { + font-weight: bold; } + .highlight .gu { + color: #aaaaaa; } + .highlight .gt { + color: #aa0000; } + .highlight .kc { + color: #000000; + font-weight: bold; } + .highlight .kd { + color: #000000; + font-weight: bold; } + .highlight .kp { + color: #000000; + font-weight: bold; } + .highlight .kr { + color: #000000; + font-weight: bold; } + .highlight .kt { + color: #445588; } + .highlight .m { + color: #009999; } + .highlight .s { + color: #d14; } + .highlight .na { + color: #008080; } + .highlight .nb { + color: #0086B3; } + .highlight .nc { + color: #445588; + font-weight: bold; } + .highlight .no { + color: #008080; } + .highlight .ni { + color: #800080; } + .highlight .ne { + color: #990000; + font-weight: bold; } + .highlight .nf { + color: #990000; } + .highlight .nn { + color: #555555; } + .highlight .nt { + color: #000080; } + .highlight .nv { + color: #008080; } + .highlight .ow { + color: #000000; + font-weight: bold; } + .highlight .w { + color: #bbbbbb; } + .highlight .mf { + color: #009999; } + .highlight .mh { + color: #009999; } + .highlight .mi { + color: #009999; } + .highlight .mo { + color: #009999; } + .highlight .sb { + color: #d14; } + .highlight .sc { + color: #d14; } + .highlight .sd { + color: #d14; } + .highlight .s2 { + color: #d14; } + .highlight .se { + color: #d14; } + .highlight .sh { + color: #d14; } + .highlight .si { + color: #d14; } + .highlight .sx { + color: #d14; } + .highlight .sr { + color: #009926; } + .highlight .s1 { + color: #d14; } + .highlight .ss { + color: #990073; } + .highlight .bp { + color: #999999; } + .highlight .vc { + color: #008080; } + .highlight .vg { + color: #008080; } + .highlight .vi { + color: #008080; } + .highlight .il { + color: #009999; } diff --git a/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css b/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 0000000..d628282 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css @@ -0,0 +1,337 @@ +html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td { + background: transparent; + border: 0; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; } + +body { + background-color: #f2f2f2; + font-family: Helvetica, freesans, Arial, sans-serif; + font-size: 14px; + -webkit-font-smoothing: subpixel-antialiased; + word-wrap: break-word; } + +h1, h2, h3 { + margin-top: 0.8em; + margin-bottom: 0.3em; + font-weight: 100; + color: black; } + +h1 { + font-size: 2.5em; } + +h2 { + font-size: 2em; + border-bottom: 1px solid #e2e2e2; } + +h4 { + font-size: 13px; + line-height: 1.5; + margin-top: 21px; } + +h5 { + font-size: 1.1em; } + +h6 { + font-size: 1.1em; + color: #777; } + +.section-name { + color: gray; + display: block; + font-family: Helvetica; + font-size: 22px; + font-weight: 100; + margin-bottom: 15px; } + +pre, code { + font: 0.95em Menlo, monospace; + color: #777; + word-wrap: normal; } + +p code, li code { + background-color: #eee; + padding: 2px 4px; + border-radius: 4px; } + +a { + color: #0088cc; + text-decoration: none; } + +ul { + padding-left: 15px; } + +li { + line-height: 1.8em; } + +img { + max-width: 100%; } + +blockquote { + margin-left: 0; + padding: 0 10px; + border-left: 4px solid #ccc; } + +.content-wrapper { + margin: 0 auto; + width: 980px; } + +header { + font-size: 0.85em; + line-height: 26px; + background-color: #414141; + position: fixed; + width: 100%; + z-index: 1; } + header img { + padding-right: 6px; + vertical-align: -4px; + height: 16px; } + header a { + color: #fff; } + header p { + float: left; + color: #999; } + header .header-right { + float: right; + margin-left: 16px; } + +#breadcrumbs { + background-color: #f2f2f2; + height: 27px; + padding-top: 17px; + position: fixed; + width: 100%; + z-index: 1; + margin-top: 26px; } + #breadcrumbs #carat { + height: 10px; + margin: 0 5px; } + +.sidebar { + background-color: #f9f9f9; + border: 1px solid #e2e2e2; + overflow-y: auto; + overflow-x: hidden; + position: fixed; + top: 70px; + bottom: 0; + width: 230px; + word-wrap: normal; } + +.nav-groups { + list-style-type: none; + background: #fff; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #e2e2e2; + font-size: 1.1em; + font-weight: 100; + padding: 15px 0 15px 20px; } + .nav-group-name > a { + color: #333; } + +.nav-group-tasks { + margin-top: 5px; } + +.nav-group-task { + font-size: 0.9em; + list-style-type: none; + white-space: nowrap; } + .nav-group-task a { + color: #888; } + +.main-content { + background-color: #fff; + border: 1px solid #e2e2e2; + margin-left: 246px; + position: absolute; + overflow: hidden; + padding-bottom: 60px; + top: 70px; + width: 734px; } + .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { + margin-bottom: 1em; } + .main-content p { + line-height: 1.8em; } + .main-content section .section:first-child { + margin-top: 0; + padding-top: 0; } + .main-content section .task-group-section .task-group:first-of-type { + padding-top: 10px; } + .main-content section .task-group-section .task-group:first-of-type .section-name { + padding-top: 15px; } + .main-content section .heading:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + +.section { + padding: 0 25px; } + +.highlight { + background-color: #eee; + padding: 10px 12px; + border: 1px solid #e2e2e2; + border-radius: 4px; + overflow-x: auto; } + +.declaration .highlight { + overflow-x: initial; + padding: 0 40px 40px 0; + margin-bottom: -25px; + background-color: transparent; + border: none; } + +.section-name { + margin: 0; + margin-left: 18px; } + +.task-group-section { + padding-left: 6px; + border-top: 1px solid #e2e2e2; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; + padding-top: 70px; + margin: -70px 0 0; } + .item code { + background-color: transparent; + padding: 0; } + .item .token { + padding-left: 3px; + margin-left: 15px; + font-size: 11.9px; } + .item .declaration-note { + font-size: .85em; + color: gray; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #e2e2e2; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + background: #f9f9f9; + border-left: 1px solid #e2e2e2; + border-top: 1px solid #e2e2e2; + height: 12px; + left: 21px; + top: -7px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + position: absolute; + width: 12px; } + +.height-container { + display: none; + left: -25px; + padding: 0 25px; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #f9f9f9; + border-bottom: 1px solid #e2e2e2; + left: -25px; + position: relative; + width: 100%; + padding-top: 10px; + padding-bottom: 5px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4b8afb; } + +.aside-warning { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #e2e2e2; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +#footer { + position: absolute; + bottom: 10px; + margin-left: 25px; } + #footer p { + margin: 0; + color: #aaa; + font-size: 0.8em; } + +html.dash header, html.dash #breadcrumbs, html.dash .sidebar { + display: none; } +html.dash .main-content { + width: 980px; + margin-left: 0; + border: none; + width: 100%; + top: 0; + padding-bottom: 0; } +html.dash .height-container { + display: block; } +html.dash .item .token { + margin-left: 0; } +html.dash .content-wrapper { + width: auto; } +html.dash #footer { + position: static; } diff --git a/docs/docsets/.docset/Contents/Resources/Documents/img/carat.png b/docs/docsets/.docset/Contents/Resources/Documents/img/carat.png new file mode 100755 index 0000000000000000000000000000000000000000..29d2f7fd4955fca6bc6fb740e0373a2c358c398e GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqAi{-jv*Ddl5#RKJQ5NTUZgiPI4RUKGIKU?u8L&ndhX1t za+0CMVUnT(Gnb}ei=c~x==tMH^F1_tBocXwcoSWoO-SZY-o>!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/docsets/.docset/Contents/Resources/Documents/img/dash.png b/docs/docsets/.docset/Contents/Resources/Documents/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 zcmaJ>U2NM_6t){^r>#wcfL0VSTvuX@)$vd4#5N6WVkc|1rR}naMb)(7I5(};#!el# zbtCASsp?W-qE8zSJoFVdA%-T$WL8RI_B? zd+t5o`T5Q{p6=<|U$?VqCxRe#u}(PwSIl{LRKstfSbPYV7pzFiI$~t4QN;vEC}X4n z7RxDpAOV!j*w8ni4MAK3S~6v&;)g`l$axh<$7|>E5RD*h?RH*K2Y`j8L7%1v@%vZi za7@bt@uOUvisvQJuXPqpaHQCkREqd6M>0WG?6AwXR*T65ziuw$&~q$MS$o zfPyh>s<0l}mI@eh_hd(oB8*1tHZ@ojWl%QM;T+Jdm>k66jW?rZ#Atx!qns4-g&E4v z(=;FQ%W^avW?3J{L@2IeV>_(Ca)Lk1vm70uX*$9Rewm8!AxRF0BcZTNSFka?U@5u^ zDtpMY2lVtCmQm<8@|YxHuf`Qs(;a!QQ=g4=WngL}AQLr> z9JWrdsBIHKHXF!fSydodRsaOc@jgNkSU^x9kY&;UP<}3pZ{joC5f_Tevd>4eG~;)Y z=eZ~qp=5#aaUn*E3OES^BApKTU&mCAU>iEyt^S9?)&v0^j*SWDqjRZr20>6rTPSJ& zlzz0f);`}+^~w}lP1PK7Ew3f7ot#*uJ@>1Yo3J0TdsRKpA+*n9JnDXDrM~YvF`;uS|vAh|-QdmRf4AqG=`U z#v1n_Lxg8;&z#YCU2K`_W{-A zUf_|V)B9U(WZ~PP>)O(JZ|Vc-*qP&Q{c~BE~6izDPQq)#Nu*KOf(n^(VHY9;fiINM65``pc+9*v(mL$bwfCjbc%v9V{8r9iX|O%>Nr%pLD2qT{mty}c=LVleeamv znz3SOSm@kP8jThvOOq(56Yzh*fz(booe!uZij=BJC6+_lbvQ~B8nA2>kXdv_RDtRY z`5QXWWEySCe6vbTs^#f?J!WC*{1~RgVx!nJTJjQyO{dRANgx|FnymtGbD9%JmCh9^y)##j7{Dcqfn*1ta$rG89pJF6w-S7Z037$rr|y0;1Onp_ zGFJdT6Q!1C0AdVB0WOmpuV=AgAQ550Tn+-mivTtYPJmz*#75#_n9oV%!#rSOfmAfy zki%C~=fTp1{O#BLpJ|0jj#m6#|LRWit-vq3PE1z9ZqyvET4sX$-Icqy7t z<=aq5ff86AuBZBu6EjJsYWM0uejufWFTwPA7Su}0Bm$7KFb!q{Um_8~A{LUG#1l(l zSehUda@kU8LIRg9fkk2tZ;~ss5~R+mM<==F7hLHpxqLB>>PQS%Vc7b~?q!%T5+h8Q z4G=4Nzyi5WZ?^gkasJ{?Xhm`JC#WG6$1K2jb@=9&D3EgD#3UhGh#*21rJjulVXjCF zvp76q62jt0zzMG5C7DlfMgPl%C^3+~wf|}Lq=}jz|MmIcQjh1Ok6NjD$Em^Iv26D> z8tt_TnM9~^Tt8mflRGPOrrX|HtT3gG4LEuuk{g2Rn}QgJIa?gZo))!!=o_l9bvD%A zZ`aHajl8#~u?!4f7F#*b*->A=R2L)6!>saz?h>#wTXT-I(XmQ zx{84skS>k=i~i`(6k4C7;Zpfx%dCPVjPayMf8pugtGM=~s=Id1l#8MZJ1-73wV#Q3 zR3>v3%}jbQs1f_Z0xo;%=LILlA+nTpKI4ha%xWW}uqHrNao~&T4AY6m`P$_n-6h*g zhoX+e4n%~gl_lhe#s+AMb7d{5WzvYTa%6Q~si@@4{;s(0zU|H&P3fE+t{7X`S#Cj@ zC#vd}^4pcBD*77Ny5=j$h8EL2_t$O38$SQiJ6fPjJMimypr~MB2(&P0aI|h}$64<0 z>_~duqNjaT=DM^6+N{&B_lED;F2wrl?!4Lk*2((x!fmrcsw+=cI^qttuZ9C}-m~5E z-ryYVpL%^xR#&(0YI5hz<(}F7-p)?FPcyJO-zVO>%9ZDXJH8pnY;GJYFDQ>vd#j_* zRrd}L(r=!g+1#nQwsO?kpS`Qq8`NxE+Zy{gf7*_7J*U2V_|NpLo{iasj7VCg_V9&| ShohtYzipXxh2)4xTk + + + Reference + + + + + + + + + +
+
+

Docs (27% documented)

+
+
+
+ +
+
+ +
+
+
+ +

+ +

Build Status

+ +

Functional Table Data implements a functional renderer for UITableView. You pass it a complete description of your table state, and Functional Table Data compares it with the previous render call to insert, update, and remove the sections and cells that have changed. This massively simplifies state management of complex UI.

+ +

No longer do you have to manually track the number of sections, cells, and indices of your UI. Build one method that generates your table state structure from your data. The provided HostCell generic makes it easy to add FunctionalTableData support to UITableViewCells.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Noteworthy features
💯Functional approach for maintaining table state
👷‍Reusable views and states
Unit tests
🔀Automatic diff in your states
❤️Used across Shopify’s iOS apps
🙅No more IndexPath bookkeeping
+

Installation

+

Manual

+ +

Simply drag and drop the FunctionalTableData/FunctionalTableData folder into your Xcode project.

+

Carthage

+ +

Add the following to your Cartfile:

+
github "Shopify/FunctionalTableData"
+
+

Getting started

+ +

To use the Functional Table Data (FTD) two things are required, one instance of UITableView, and an instance of the FTD itself. Once both are available, typically in a view controller’s viewDidLoad, they are connected together using +functionalTableData.tableView = yourTableViewInstance. After this, every time we want to display/update the data we simply call functionalTableData.renderAndDiff(sections).

+

Usage

+ +

Check out the demo app for a fully interactive example.

+ +

Any time you want to update the data currently being displayed you generate the new state and pass it off to your instance of the Functional Table Data. The FTD is then responsible for computing the differences between the previous state and the next state and updating itself as necessary.

+ +

The FunctionalTableData holds onto an array of sections where each section has a key. This key must be unique across all sections but should be deterministic so that its possible to adjust the rows contained within that section without replacing the entire section itself.

+
let section = TableSection(key: "header-unique-key", rows: [])
+
+ +

Each section contains a series of rows where each row value must conform to the CellConfigType protocol.

+
/// The simplest possible version of a cell that displays a label.
+/// Useful to get started, but in most cases a more robust state should be used allowing more customization.
+typealias LabelCell = HostCell<UILabel, String, LayoutMarginsTableItemLayout>
+
+let cells: [CellConfigType] = [
+    LabelCell(key: "company", state: "Shopify") { view, state in
+        view.text = state
+    },
+    LabelCell(key: "location", state: "🇨🇦") { view, state in
+        view.text = state
+    }
+]
+
+ +

The rows themselves also have a key which must be unique inside of that section. This key is used to determine when new rows are added to a section, if any were removed, or if any moved to a different location. +Additionally, each CellConfig type implements an isEqual function to determine if two of them represent the same data being displayed. This allows for a single cell to perform a state change operation, that is, a toggle changing from its off to on state, a text value changing, etc.

+ +

After assigning the variable rows to our previously created section, all that is needed to display the data in the table view is this method.

+
functionalTableData.renderAndDiff([section])
+
+ +

+ +

Check out the demo app for a fully interactive example.

+

Building new Cells

+ +

Knowing that a cell consists of a view and state let’s start with a simple example, a cell that displays a label. By specifying the generic requirements of HostCell, the simplest possible example is one that takes an UILabel as its view, a String as its state and LayoutMarginsTableItemLayout as the layout (See TableItemLayout for more info).

+
typealias LabelCell = HostCell<UILabel, String, LayoutMarginsTableItemLayout>
+
+// Usage
+LabelCell(key: "company", state: "Shopify") { view, state in
+    view.text = state
+}
+
+ +

Although, the previous code is very useful to get started, in most cases a more robust state should be used allowing more customization. A better example would be something like this

+
typealias LabelCell = HostCell<UILabel, LabelState, LayoutMarginsTableItemLayout>
+
+struct LabelState: Equatable {
+    let text: String
+    let alignment: NSTextAlignment
+    let color: UIColor
+
+    static func ==(lhs: LabelState, rhs: LabelState) -> Bool {
+        return lhs.text == rhs.text && lhs.alignment == rhs.alignment && lhs.color == rhs.color
+    }
+}
+
+// Usage
+LabelCell(key: "company", state: LabelState(text: "Shopify",
+                                            alignment: .center,
+                                            color: .green)) { view, state in
+    guard let state = state else {
+        // If the state is `nil`, prepare this view to be reused
+        view.text = ""
+        view.textAlignment = .natural
+        view.textColor = .black
+        return
+    }
+    view.text = state.text
+    view.textAlignment = state.alignment
+    view.textColor = state.color
+}
+
+ +

At the end of the day HostCell is just one of the possible implementations of CellConfigType, that’s the underlying power of this framework.

+

License

+ +

Functional Table Data is under the MIT License

+ +
+
+ +
+
+ + + diff --git a/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js b/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 0000000..3965b5f --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js @@ -0,0 +1,46 @@ +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +// On doc load, toggle the URL hash discussion if present +$(document).ready(function() { + if (!window.jazzy.docset) { + var linkToHash = $('a[href="' + window.location.hash +'"]'); + linkToHash.trigger("click"); + } +}); + +// On token click, toggle its discussion and animate token.marginLeft +$(".token").click(function(event) { + if (window.jazzy.docset) { + return; + } + var link = $(this); + var animationDuration = 300; + var tokenOffset = "15px"; + var original = link.css('marginLeft') == tokenOffset; + link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration); + $content = link.parent().parent().next(); + $content.slideToggle(animationDuration); + + // Keeps the document from jumping to the hash. + var href = $(this).attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Dumb down quotes within code blocks that delimit strings instead of quotations +// https://github.com/realm/jazzy/issues/714 +$("code q").replaceWith(function () { + return ["\"", $(this).contents(), "\""]; +}); diff --git a/docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100755 index 0000000..ab28a24 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("