diff --git a/TILogging/Sources/LoggingPresenter.swift b/TILogging/Sources/LoggingPresenter.swift index fbae8c71..a173099f 100644 --- a/TILogging/Sources/LoggingPresenter.swift +++ b/TILogging/Sources/LoggingPresenter.swift @@ -63,7 +63,7 @@ final public class LoggingPresenter { } /// Hides the UIWindow. - public func hide() { + public func hideWindow() { window.isHidden = true loggingViewController.set(isVisible: true) } diff --git a/TILogging/Sources/Views/LoggerList/LogsListView.swift b/TILogging/Sources/Views/LoggerList/LogsListViewController.swift similarity index 99% rename from TILogging/Sources/Views/LoggerList/LogsListView.swift rename to TILogging/Sources/Views/LoggerList/LogsListViewController.swift index 84716b42..3ed827b9 100644 --- a/TILogging/Sources/Views/LoggerList/LogsListView.swift +++ b/TILogging/Sources/Views/LoggerList/LogsListViewController.swift @@ -26,7 +26,7 @@ import OSLog import UIKit @available(iOS 15, *) -open class LogsListView: BaseInitializeableViewController, +open class LogsListViewController: BaseInitializeableViewController, LogsListViewOutput, AlertPresentationContext, UISearchBarDelegate, diff --git a/TILogging/Sources/Views/LoggerWindow/LoggingTogglingViewController.swift b/TILogging/Sources/Views/LoggerWindow/LoggingTogglingViewController.swift index baaa75eb..b3611150 100644 --- a/TILogging/Sources/Views/LoggerWindow/LoggingTogglingViewController.swift +++ b/TILogging/Sources/Views/LoggerWindow/LoggingTogglingViewController.swift @@ -105,7 +105,7 @@ open class LoggingTogglingViewController: BaseInitializeableViewController { } public func openLoggingScreen() { - present(LogsListView(), animated: true, completion: { [self] in + present(LogsListViewController(), animated: true, completion: { [self] in isLogsPresented = false }) diff --git a/TILogging/Sources/Views/ViewModels/LogsListViewOutput.swift b/TILogging/Sources/Views/ViewModels/LogsListViewOutput.swift new file mode 100644 index 00000000..bc52d09a --- /dev/null +++ b/TILogging/Sources/Views/ViewModels/LogsListViewOutput.swift @@ -0,0 +1,29 @@ +// +// Copyright (c) 2022 Touch Instinct +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +public protocol LogsListViewOutput: AnyObject { + func reloadTableView() + func setLoadingState() + func setNormalState() + func startSearch() + func stopSearch() +} \ No newline at end of file