diff --git a/Cartfile b/Cartfile index 94e96bd5..e25b4aef 100644 --- a/Cartfile +++ b/Cartfile @@ -2,4 +2,5 @@ binary "https://raw.github.com/petropavel13/CarthageBinaries/master/SwiftDate/Sw github "ReactiveX/RxSwift" binary "https://raw.github.com/petropavel13/CarthageBinaries/master/RxAlamofire/RxAlamofire.json" github "maxsokolov/TableKit" -github "pronebird/UIScrollView-InfiniteScroll" \ No newline at end of file +github "pronebird/UIScrollView-InfiniteScroll" +GitHub "Alamofire/Alamofire" "4.8.1" \ No newline at end of file diff --git a/Cartfile.resolved b/Cartfile.resolved index b9294918..99f56d6f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,5 +1,6 @@ binary "https://raw.github.com/petropavel13/CarthageBinaries/master/RxAlamofire/RxAlamofire.json" "4.3.0" binary "https://raw.github.com/petropavel13/CarthageBinaries/master/SwiftDate/SwiftDate.json" "5.1.0" +github "Alamofire/Alamofire" "4.8.1" github "ReactiveX/RxSwift" "4.4.1" github "maxsokolov/TableKit" "2.8.1" github "pronebird/UIScrollView-InfiniteScroll" "1.1.0" diff --git a/LeadKit.xcodeproj/project.pbxproj b/LeadKit.xcodeproj/project.pbxproj index 7eb2e7a6..19d1febc 100644 --- a/LeadKit.xcodeproj/project.pbxproj +++ b/LeadKit.xcodeproj/project.pbxproj @@ -470,16 +470,15 @@ 6B5B64BACFF8C5487FB0939D /* TableKitViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B66503F2C42D009DEA011 /* TableKitViewModel.swift */; }; 6B5B6EF1577C8CC06E4CCF1B /* Array+RowExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B62E7942E5AEE68A95449 /* Array+RowExtensions.swift */; }; 6B5B6F0BFA22832C47142BAD /* TableKitViewModel+Extenstions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B61443DDAB82927448CAA /* TableKitViewModel+Extenstions.swift */; }; - 6B5B6F4E2B4F6F74348AC138 /* TableKitViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B66503F2C42D009DEA011 /* TableKitViewModel.swift */; }; 72039CE0220899E600875DD4 /* SearchResultsViewControllerState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72039CDF220899E600875DD4 /* SearchResultsViewControllerState.swift */; }; 72039CE122089A3D00875DD4 /* SearchResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7284087522079A4600A20F47 /* SearchResultsViewController.swift */; }; 72039CE222089A3D00875DD4 /* SearchResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7284087522079A4600A20F47 /* SearchResultsViewController.swift */; }; - 72039CE322089A3D00875DD4 /* SearchResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7284087522079A4600A20F47 /* SearchResultsViewController.swift */; }; 7284087422078EB800A20F47 /* BaseSearchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7284087322078EB800A20F47 /* BaseSearchViewModel.swift */; }; 7284087622079A4600A20F47 /* SearchResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7284087522079A4600A20F47 /* SearchResultsViewController.swift */; }; 7295473F21E661E6009558E7 /* TitleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295473E21E661E6009558E7 /* TitleType.swift */; }; 7295474221E6628C009558E7 /* UINavigationItem+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295474121E6628C009558E7 /* UINavigationItem+Support.swift */; }; 7295474421E66328009558E7 /* UIViewController+UpdateNavigationItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295474321E66328009558E7 /* UIViewController+UpdateNavigationItemTitle.swift */; }; + 72D213A422048180003B4292 /* BaseSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72D213A322048180003B4292 /* BaseSearchViewController.swift */; }; 785EDF7C220072B500985ED4 /* SwiftDate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 785EDF76220072B400985ED4 /* SwiftDate.framework */; }; 785EDF7D220072B500985ED4 /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 785EDF77220072B400985ED4 /* RxCocoa.framework */; }; 785EDF7E220072B500985ED4 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 785EDF78220072B500985ED4 /* Alamofire.framework */; }; @@ -502,8 +501,6 @@ 78EC7B1322019F5A0007DCFD /* String+TelpromptURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EC7B1222019F5A0007DCFD /* String+TelpromptURL.swift */; }; 78EC7B1422019F5A0007DCFD /* String+TelpromptURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EC7B1222019F5A0007DCFD /* String+TelpromptURL.swift */; }; 78EC7B1522019F5A0007DCFD /* String+TelpromptURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EC7B1222019F5A0007DCFD /* String+TelpromptURL.swift */; }; - 7295474D21E75E84009558E7 /* UINavigationItem+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295474121E6628C009558E7 /* UINavigationItem+Support.swift */; }; - 72D213A422048180003B4292 /* BaseSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72D213A322048180003B4292 /* BaseSearchViewController.swift */; }; 820CAD8420B43B080033EF94 /* PaginationWrapperDelegate+DefaultImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 820CAD8320B43B080033EF94 /* PaginationWrapperDelegate+DefaultImplementation.swift */; }; 825F8F2820B3384C00594857 /* PaginationWrapperUIDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 825F8F2720B3384C00594857 /* PaginationWrapperUIDelegate.swift */; }; 82F8BB181F5DDED100C1061B /* Single+DeferredJust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F8BB171F5DDED100C1061B /* Single+DeferredJust.swift */; }; @@ -778,6 +775,7 @@ 7295473E21E661E6009558E7 /* TitleType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitleType.swift; sourceTree = ""; }; 7295474121E6628C009558E7 /* UINavigationItem+Support.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationItem+Support.swift"; sourceTree = ""; }; 7295474321E66328009558E7 /* UIViewController+UpdateNavigationItemTitle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+UpdateNavigationItemTitle.swift"; sourceTree = ""; }; + 72D213A322048180003B4292 /* BaseSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseSearchViewController.swift; sourceTree = ""; }; 785EDF76220072B400985ED4 /* SwiftDate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftDate.framework; path = Carthage/Build/iOS/SwiftDate.framework; sourceTree = ""; }; 785EDF77220072B400985ED4 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = Carthage/Build/iOS/RxCocoa.framework; sourceTree = ""; }; 785EDF78220072B500985ED4 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = ""; }; @@ -799,8 +797,6 @@ 785EDFAA220082E600985ED4 /* SwiftDate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftDate.framework; path = Carthage/Build/tvOS/SwiftDate.framework; sourceTree = ""; }; 785EDFAB220082E600985ED4 /* RxAtomic.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxAtomic.framework; path = Carthage/Build/tvOS/RxAtomic.framework; sourceTree = ""; }; 78EC7B1222019F5A0007DCFD /* String+TelpromptURL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+TelpromptURL.swift"; sourceTree = ""; }; - 72D213A322048180003B4292 /* BaseSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseSearchViewController.swift; sourceTree = ""; }; - 78405D3B3D3C3E17456877FF /* Pods_LeadKit_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 820CAD8320B43B080033EF94 /* PaginationWrapperDelegate+DefaultImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaginationWrapperDelegate+DefaultImplementation.swift"; sourceTree = ""; }; 825F8F2720B3384C00594857 /* PaginationWrapperUIDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaginationWrapperUIDelegate.swift; sourceTree = ""; }; 82F8BB171F5DDED100C1061B /* Single+DeferredJust.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Single+DeferredJust.swift"; sourceTree = ""; }; @@ -1958,6 +1954,23 @@ path = TableKitViewModel; sourceTree = ""; }; + 72039CDE220899D000875DD4 /* Search */ = { + isa = PBXGroup; + children = ( + 72039CDF220899E600875DD4 /* SearchResultsViewControllerState.swift */, + ); + path = Search; + sourceTree = ""; + }; + 72D213A222048162003B4292 /* Search */ = { + isa = PBXGroup; + children = ( + 72D213A322048180003B4292 /* BaseSearchViewController.swift */, + 7284087322078EB800A20F47 /* BaseSearchViewModel.swift */, + ); + path = Search; + sourceTree = ""; + }; 785EDF75220072B400985ED4 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -1985,23 +1998,6 @@ name = Frameworks; sourceTree = ""; }; - 72039CDE220899D000875DD4 /* Search */ = { - isa = PBXGroup; - children = ( - 72039CDF220899E600875DD4 /* SearchResultsViewControllerState.swift */, - ); - path = Search; - sourceTree = ""; - }; - 72D213A222048162003B4292 /* Search */ = { - isa = PBXGroup; - children = ( - 72D213A322048180003B4292 /* BaseSearchViewController.swift */, - 7284087322078EB800A20F47 /* BaseSearchViewModel.swift */, - ); - path = Search; - sourceTree = ""; - }; 78CFEE201C5C456B00F50370 = { isa = PBXGroup; children = ( @@ -2559,7 +2555,6 @@ 72D213A422048180003B4292 /* BaseSearchViewController.swift in Sources */, 673CF4382063E7CE00C329F6 /* GeneralDataLoadingController+DefaultImplementation.swift in Sources */, B85B768720B1CF6700F837C4 /* Encodable+Extensions.swift in Sources */, - 671AD267206A365100EAF887 /* UIApplication+OpenUrlSupport.swift in Sources */, 72039CE0220899E600875DD4 /* SearchResultsViewControllerState.swift in Sources */, 67E9024B2125AEB4008EDF45 /* NSNumberConvertible.swift in Sources */, 673CF40B2063AB7C00C329F6 /* GeneralDataLoadingViewModel.swift in Sources */, @@ -2994,221 +2989,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 67952DC01EB327B400B3BA1A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 678D267A20691D8200B05B93 /* DataModelFieldBinding.swift in Sources */, - 67EB7FE520615DE000BDD9FB /* DataSource.swift in Sources */, - B84CB07920B872AD0090DB91 /* Decodable+Extensions.swift in Sources */, - 3622F5DA20E24F44009DED94 /* SeparatorCell.swift in Sources */, - 671463491EB3396E00EAB194 /* ResettableType.swift in Sources */, - 67386A8D206CF3F6004EDA6C /* DateFormattingService+DefaultImplementation.swift in Sources */, - A676AE491F97D28A001F9214 /* String+Extensions.swift in Sources */, - 6792623D206EB0EC00308E62 /* CellSeparatorType+Extensions.swift in Sources */, - 671462E51EB3396E00EAB194 /* UIColor+Hex.swift in Sources */, - 67EB7FFE206176C900BDD9FB /* AnyPaginationWrappable.swift in Sources */, - 67DB776E210871E8001CB56B /* BaseCollectionContentController.swift in Sources */, - 674303D0214FB8F700EF4160 /* GeneralDataLoadingHandler.swift in Sources */, - 67274773206CCF1200725163 /* ViewText.swift in Sources */, - 678D26A520692BFF00B05B93 /* TextFieldViewModelEvents.swift in Sources */, - 677452B720627FE00024EEEF /* PaginationWrappable.swift in Sources */, - 6713C23D20AF0D5900875921 /* NetworkOperationModel.swift in Sources */, - 67EB7FC1206140E600BDD9FB /* TotalCountCursor.swift in Sources */, - 67A1FF951EBCA65E00D6C89F /* CABasicAnimation+Rotation.swift in Sources */, - 671462811EB3396E00EAB194 /* DataRequest+Extensions.swift in Sources */, - 67E6C2361EBB32F5007842A6 /* SingleLoadCursor.swift in Sources */, - 671463551EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */, - 677B06A721186AFE006C947D /* ObservableType+Extensions.swift in Sources */, - 671463611EB3396E00EAB194 /* SupportProtocol.swift in Sources */, - 3622F5E120E2587B009DED94 /* TableRow+SeparatorsExtensions.swift in Sources */, - 671462851EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */, - 67CAF8C720652E2A00527085 /* TextFieldViewModel.swift in Sources */, - 67E352602119B7570035BDDB /* BasePlaceholerView.swift in Sources */, - 67ED2BEE20B45F1500508B3E /* SeparatorConfiguration.swift in Sources */, - 6714634D1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */, - 67745281206256A20024EEEF /* RxDataLoadingModel.swift in Sources */, - 671462F11EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */, - 671462691EB3396E00EAB194 /* NetworkService.swift in Sources */, - 671463111EB3396E00EAB194 /* UIViewController+DefaultXibName.swift in Sources */, - 67153E41207DFBA80049D8C0 /* FloatingPoint+DegreesRadiansConvertion.swift in Sources */, - 67990AE7213EB4080040D195 /* ConfigurableView+Extensions.swift in Sources */, - 6732F240214C09F900B446F2 /* UserDefaults+Codable.swift in Sources */, - 671462911EB3396E00EAB194 /* CGImage+Crop.swift in Sources */, - 6760DC4E212F351700020BAE /* UIView+AddSubviews.swift in Sources */, - 67E902582125B66E008EDF45 /* UIImageView+ExpandCollapseDisclosure.swift in Sources */, - 673564F72068C68D00F0CBED /* NumberFormat.swift in Sources */, - 67E352582119ACF30035BDDB /* ViewTextConfigurable+Extensions.swift in Sources */, - 67051ADC1EBC7C36008EADC0 /* SpinnerView.swift in Sources */, - EF24213B2076D5C700FA9BE6 /* NetworkServiceConfiguration.swift in Sources */, - 671462FD1EB3396E00EAB194 /* UIView+XibNameProtocol.swift in Sources */, - 671463851EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */, - 673564F22068C2AD00F0CBED /* NumberFormattingService+DefaultImplementation.swift in Sources */, - 671462D11EB3396E00EAB194 /* UIScrollView+Support.swift in Sources */, - 671AD25D206A343300EAF887 /* VoidBlock.swift in Sources */, - 671AD26D206A3E8500EAF887 /* Array+TotalCountCursorListingResult.swift in Sources */, - 6741CEB520E242C100FEC4D9 /* CollectionViewHolder+ScrollViewHolder.swift in Sources */, - 6774528E20625C9E0024EEEF /* GeneralDataLoadingState.swift in Sources */, - 6741CEB020E242A500FEC4D9 /* TableViewHolder+ScrollViewHolder.swift in Sources */, - 671463911EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */, - 67EB7FEC2061667900BDD9FB /* DefaultTotalCountCursorListingResult.swift in Sources */, - 671462991EB3396E00EAB194 /* CGSize+Resize.swift in Sources */, - 67274780206CD3BD00725163 /* ViewText+Extensions.swift in Sources */, - 67ED2BE620B44F4300508B3E /* InitializableView+DefaultImplementation.swift in Sources */, - 671463311EB3396E00EAB194 /* CursorType.swift in Sources */, - 6714624D1EB3396E00EAB194 /* MapCursor.swift in Sources */, - 3622F5DF20E2541B009DED94 /* TableRow+AppearanceExtension.swift in Sources */, - 67EB7FD520615D1700BDD9FB /* ResettableCursorType.swift in Sources */, - 6741CEA220E2416C00FEC4D9 /* ScrollViewHolder.swift in Sources */, - 671463251EB3396E00EAB194 /* Any+TypeName.swift in Sources */, - 671463891EB3396E00EAB194 /* RoundDrawingOperation.swift in Sources */, - 6741CEBB20E242D900FEC4D9 /* UIScrollView+ScrollViewHolder.swift in Sources */, - B84CB06920B702240090DB91 /* Encodable+Extensions.swift in Sources */, - 675C1FB61F97CA33007D5249 /* AppearanceConfigurable.swift in Sources */, - 67FD4383206BD24B005B0C64 /* EqutableOptionalArray.swift in Sources */, - 671463811EB3396E00EAB194 /* PaddingDrawingOperation.swift in Sources */, - 72039CE322089A3D00875DD4 /* SearchResultsViewController.swift in Sources */, - 67EB7FDB20615D5B00BDD9FB /* ResettableRxCursorDataSource.swift in Sources */, - 6741C41020EAC88800418D08 /* GeneralDataLoadingViewModel+Extensions.swift in Sources */, - A6F32C0A1F6EBE5B00AC08EE /* String+LocalizedComponent.swift in Sources */, - 671463291EB3396E00EAB194 /* BaseViewModel.swift in Sources */, - 671462AD1EB3396E00EAB194 /* Observable+DeferredJust.swift in Sources */, - 671463011EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */, - 67990AC6213EA4DB0040D195 /* PlaceholderConfigurable.swift in Sources */, - 6774526D206249E30024EEEF /* UICollectionView+PaginationWrappable.swift in Sources */, - 67990AD7213EA6A50040D195 /* ContentLoadingViewModel+Extensions.swift in Sources */, - 6714627D1EB3396E00EAB194 /* SessionManager+Extensions.swift in Sources */, - 673CF4352063E29B00C329F6 /* TextWithButtonPlaceholder.swift in Sources */, - 675E0AAA21072FF400CDC143 /* BaseScrollContentController.swift in Sources */, - 677B06B9211873FA006C947D /* BasePlaceholderViewModel.swift in Sources */, - 6727476F206CCDDB00725163 /* ViewBackground+Configuration.swift in Sources */, - 673CF4232063D90600C329F6 /* DisposeBagHolder.swift in Sources */, - 6741CEBF20E242FA00FEC4D9 /* UIScrollView+RxBindings.swift in Sources */, - 677452AA206263360024EEEF /* CursorType+RxDataSourceDefaultImplementation.swift in Sources */, - 671462791EB3396E00EAB194 /* ResizeMode.swift in Sources */, - 671463051EB3396E00EAB194 /* UIView+LoadingIndicator.swift in Sources */, - 671463711EB3396E00EAB194 /* ApiRequestParameters.swift in Sources */, - 3622F5DB20E24F99009DED94 /* Array+SeparatorRowBoxExtensions.swift in Sources */, - 671462ED1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */, - 36FE777120F669E300284C09 /* String+ConvertToHost.swift in Sources */, - 6714636D1EB3396E00EAB194 /* XibNameProtocol.swift in Sources */, - 677B06C5211884F3006C947D /* BaseTextAttributes.swift in Sources */, - 673CF42D2063DE5900C329F6 /* TextPlaceholderView.swift in Sources */, - 67E352532119AC060035BDDB /* UIButton+ViewTextConfigurable.swift in Sources */, - 6713C24220AF189100875921 /* RxNetworkOperationModel.swift in Sources */, - 671462A11EB3396E00EAB194 /* Double+Rounding.swift in Sources */, - 7295474D21E75E84009558E7 /* UINavigationItem+Support.swift in Sources */, - 671463091EB3396E00EAB194 /* UIView+Rotation.swift in Sources */, - 67ED2BDF20B44DEB00508B3E /* InitializableView.swift in Sources */, - 6714626D1EB3396E00EAB194 /* XibView.swift in Sources */, - 6714637D1EB3396E00EAB194 /* ImageDrawingOperation.swift in Sources */, - 67E902522125B064008EDF45 /* BuildInNumberTypes+NSNumberConvertible.swift in Sources */, - 671463351EB3396E00EAB194 /* DrawingOperation.swift in Sources */, - 6741CED220E243F800FEC4D9 /* BaseConfigurableController.swift in Sources */, - 677452A020625EEE0024EEEF /* PaginationDataLoadingModel.swift in Sources */, - 3622F5E220E25883009DED94 /* SeparatorRowBox.swift in Sources */, - 6741CEA620E2418200FEC4D9 /* TableViewHolder.swift in Sources */, - 677B06AC21186BB6006C947D /* Single+Extensions.swift in Sources */, - 67DB776A21087154001CB56B /* CollectionViewWrapperView.swift in Sources */, - 67FDC2601FA310EA00C76A77 /* RequestError.swift in Sources */, - 6774529320625D170024EEEF /* GeneralDataLoadingModel.swift in Sources */, - 6741CEC320E2430A00FEC4D9 /* UITableView+TableViewHolder.swift in Sources */, - 671462711EB3396E00EAB194 /* CursorError.swift in Sources */, - 671463991EB3396E00EAB194 /* AnyLoadingIndicator.swift in Sources */, - 67DB7761210869D1001CB56B /* TableViewWrapperView.swift in Sources */, - 674303D5214FC0FF00EF4160 /* GeneralDataLoadingHandler+Extensions.swift in Sources */, - 673CF4392063E7CE00C329F6 /* GeneralDataLoadingController+DefaultImplementation.swift in Sources */, - 671463A81EB340C000EAB194 /* UIViewController+ConfigurableController.swift in Sources */, - 671463151EB3396E00EAB194 /* UIViewController+TopVisibleViewController.swift in Sources */, - 671462891EB3396E00EAB194 /* CGFloat+Pixels.swift in Sources */, - 674AF55D1EC45B1600038A8F /* UIActivityIndicatorView+LoadingIndicator.swift in Sources */, - 67274790206CD88600725163 /* DateFormattingService.swift in Sources */, - 67955D53206D216B0021ECD2 /* Singleton.swift in Sources */, - A676AE4E1F9810C1001F9214 /* Any+Cast.swift in Sources */, - 67990AD3213EA6790040D195 /* PlaceholderConfigurable+DefaultImplementation.swift in Sources */, - 671462951EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */, - 67EB7FF22061682F00BDD9FB /* TotalCountCursorListingResult+DefaultTotalCountCursorListingResult.swift in Sources */, - 671463651EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */, - 6713C23820AF0C4D00875921 /* NetworkOperationState.swift in Sources */, - 6774527520624E820024EEEF /* DataLoadingModel.swift in Sources */, - A6C9A5101F8BC79D009311CC /* Comparable+Extensions.swift in Sources */, - 67153E3B207DFADA0049D8C0 /* RotateDrawingOperation.swift in Sources */, - 677452A520625FA90024EEEF /* RxDataSource.swift in Sources */, - 671462491EB3396E00EAB194 /* FixedPageCursor.swift in Sources */, - 671462C91EB3396E00EAB194 /* String+Localization.swift in Sources */, - 673CF43B2063E80B00C329F6 /* GeneralDataLoadingController.swift in Sources */, - 673CF40C2063AB7C00C329F6 /* GeneralDataLoadingViewModel.swift in Sources */, - 671462B91EB3396E00EAB194 /* Sequence+ConcurrentMap.swift in Sources */, - 671463751EB3396E00EAB194 /* BorderDrawingOperation.swift in Sources */, - 67C7B17A2068BB1C00C9EDA3 /* NumberFormattingService.swift in Sources */, - 673CF4122063ABD100C329F6 /* GeneralDataLoadingState+Extensions.swift in Sources */, - 6714633D1EB3396E00EAB194 /* LoadingIndicator.swift in Sources */, - 671463191EB3396E00EAB194 /* UIWindow+Extensions.swift in Sources */, - 6727478B206CD83600725163 /* DateFormat.swift in Sources */, - EFBE57DC1EC361620040E00A /* UIView+Layout.swift in Sources */, - 67A1FF901EBCA09B00D6C89F /* UIImage+Spinner.swift in Sources */, - 6774529B20625E5B0024EEEF /* PaginationDataLoadingState.swift in Sources */, - 6741CEAA20E2418B00FEC4D9 /* CollectionViewHolder.swift in Sources */, - 671463791EB3396E00EAB194 /* CALayerDrawingOperation.swift in Sources */, - 6727476A206CCCA300725163 /* ViewBackground.swift in Sources */, - 3622F5DC20E253D8009DED94 /* TableSection+Extensions.swift in Sources */, - 6714632D1EB3396E00EAB194 /* ConfigurableController.swift in Sources */, - 67745287206259CF0024EEEF /* Rx+RxDataSourceProtocol.swift in Sources */, - 677B06B321186C14006C947D /* Completable+DeferredJust.swift in Sources */, - A676AE561F98112F001F9214 /* ObservableMappable.swift in Sources */, - 6737CFA4207220960063E056 /* SeparatorConfiguration+Extensions.swift in Sources */, - 67E3524F2119ABE40035BDDB /* UITextField+ViewTextConfigurable.swift in Sources */, - 67926237206EB0AE00308E62 /* CellSeparatorType.swift in Sources */, - B84CB06E20B8325D0090DB91 /* SessionManager.swift in Sources */, - 67DB776521086A12001CB56B /* BaseTableContentController.swift in Sources */, - 6774527A206252020024EEEF /* DataLoadingState.swift in Sources */, - 6714628D1EB3396E00EAB194 /* CGImage+Alpha.swift in Sources */, - 67745269206249360024EEEF /* UITableView+PaginationWrappable.swift in Sources */, - 67274779206CD0B500725163 /* UILabel+ViewTextConfigurable.swift in Sources */, - 67EB7FC8206148D000BDD9FB /* TotalCountCursorListingResult.swift in Sources */, - 671462751EB3396E00EAB194 /* LeadKitError.swift in Sources */, - 67990ACB213EA5B70040D195 /* ContentLoadingViewModel.swift in Sources */, - EFBE57D11EC35EF20040E00A /* Array+Extensions.swift in Sources */, - 676B22A3206A626D002E9F8A /* NSAttributedString+Extensions.swift in Sources */, - 6732F243214C189000B446F2 /* Single+DeferredJust.swift in Sources */, - 671462D91EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */, - 3622F5DD20E253F1009DED94 /* TableDirector+Extensions.swift in Sources */, - 6714638D1EB3396E00EAB194 /* SolidFillDrawingOperation.swift in Sources */, - 671463A31EB33FF600EAB194 /* Animatable.swift in Sources */, - 677B06C021187559006C947D /* ViewTextConfigurable.swift in Sources */, - 678D26A120692BFF00B05B93 /* TextFieldViewEvents.swift in Sources */, - 671462511EB3396E00EAB194 /* StaticCursor.swift in Sources */, - 6714629D1EB3396E00EAB194 /* CursorType+Slice.swift in Sources */, - 6741CECF20E243F800FEC4D9 /* BaseCustomViewController.swift in Sources */, - 671463691EB3396E00EAB194 /* ConfigurableView.swift in Sources */, - 67EB7FD020615B8900BDD9FB /* TotalCountCursorConfiguration.swift in Sources */, - 67CAF8AC2065189C00527085 /* NetworkService+ActivityIndicator.swift in Sources */, - 67E9024C2125AEB4008EDF45 /* NSNumberConvertible.swift in Sources */, - 6B5B6F4E2B4F6F74348AC138 /* TableKitViewModel.swift in Sources */, - 6B5B6481B4160AE6D0205CD6 /* TableKitViewModel+Extenstions.swift in Sources */, - 677B06A121186A69006C947D /* SharedSequence+Extensions.swift in Sources */, - 6B5B6D4401AEE65083D2A911 /* Array+RowExtensions.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 67952DC91EB327B400B3BA1A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A6C9A5111F8BC79D009311CC /* Comparable+Extensions.swift in Sources */, - 671463BF1EB34B1E00EAB194 /* LoadFromNibTests.swift in Sources */, - B84D64B220A70B7000DD76DA /* NetworkServiceTests.swift in Sources */, - 671463C51EB34B1E00EAB194 /* Post.swift in Sources */, - 671463CB1EB34B1E00EAB194 /* TestView.swift in Sources */, - B85B766E20AC51C600F837C4 /* AlbumsContainer.swift in Sources */, - D93221EF20A44896003799D5 /* Double+RoundingTests.swift in Sources */, - A6F32C111F6EBE9700AC08EE /* StringExtensionTests.swift in Sources */, - 671463BC1EB34B1E00EAB194 /* CursorTests.swift in Sources */, - 671463B91EB34B1E00EAB194 /* StubCursor.swift in Sources */, - B85B766920AC4EC700F837C4 /* Album.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -3228,7 +3008,7 @@ 67186B3A1EB248F100CFAFFB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; + APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -3258,7 +3038,7 @@ 67186B3B1EB248F100CFAFFB /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; + APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; diff --git a/Sources/Classes/Search/BaseSearchViewController.swift b/Sources/Classes/Search/BaseSearchViewController.swift index b8a8f1c7..276777cc 100644 --- a/Sources/Classes/Search/BaseSearchViewController.swift +++ b/Sources/Classes/Search/BaseSearchViewController.swift @@ -22,6 +22,9 @@ import TableKit import RxSwift +import UIKit + +public typealias SearchResultsController = UIViewController & SearchResultsViewController open class BaseSearchViewController { // MARK: - Properties private let disposeBag = DisposeBag() - private let searchResultsViewController: UIViewController & SearchResultsViewController - private lazy var searchController = UISearchController(searchResultsController: searchResultsViewController) + private let searchResultsController: SearchResultsController + private let searchController: UISearchController private var didEnterText = false // MARK: - Initialization - public init(viewModel: ViewModel, searchResultsController: UIViewController & SearchResultsViewController) { - self.searchResultsViewController = searchResultsController + public init(viewModel: ViewModel, searchResultsController: SearchResultsController) { + self.searchResultsController = searchResultsController + self.searchController = UISearchController(searchResultsController: searchResultsController) super.init(viewModel: viewModel) } @@ -50,10 +54,13 @@ where ViewModel: BaseSearchViewModel { // MARK: - Configurable Controller open override func configureBarButtons() { + super.configureBarButtons() // override in subclass } open override func bindViews() { + super.bindViews() + viewModel.itemsViewModelsDriver .drive(onNext: { [weak self] viewModels in self?.handle(itemViewModels: viewModels) @@ -78,6 +85,8 @@ where ViewModel: BaseSearchViewModel { } open override func addViews() { + super.addViews() + if #available(iOS 11.0, *) { navigationItem.searchController = searchController } else { @@ -87,11 +96,15 @@ where ViewModel: BaseSearchViewModel { } open override func configureAppearance() { + super.configureAppearance() + definesPresentationContext = true customView.tableView.tableHeaderView?.backgroundColor = searchBarColor } open override func localize() { + super.localize() + searchController.searchBar.placeholder = searchBarPlaceholder } @@ -154,7 +167,7 @@ where ViewModel: BaseSearchViewModel { } open func handle(searchResultsState state: SearchResultsViewControllerState) { - searchResultsViewController.update(for: state) + searchResultsController.update(for: state) } open func handle(searchText: String?) { @@ -166,8 +179,8 @@ where ViewModel: BaseSearchViewModel { return } didEnterText = true - searchResultsViewController.searchResultsView.tableView.contentInset = tableViewInsets - searchResultsViewController.searchResultsView.tableView.scrollIndicatorInsets = tableViewInsets + searchResultsController.searchResultsView.tableView.contentInset = tableViewInsets + searchResultsController.searchResultsView.tableView.scrollIndicatorInsets = tableViewInsets } }