passforios/passAutoFillExtension/Services/PasswordsTableDataSource.swift

43 lines
1.3 KiB
Swift
Raw Normal View History

2020-12-31 21:46:50 -08:00
//
// PasswordsTableDataSource.swift
// passAutoFillExtension
//
// Created by Sun, Mingshen on 12/31/20.
// Copyright © 2020 Bob Sun. All rights reserved.
//
import UIKit
import passKit
class PasswordsTableDataSource: NSObject, UITableViewDataSource {
var passwordTableEntries: [PasswordTableEntry]
var filteredPasswordsTableEntries: [PasswordTableEntry]
init(entries: [PasswordTableEntry] = []) {
passwordTableEntries = entries
filteredPasswordsTableEntries = passwordTableEntries
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
filteredPasswordsTableEntries.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "passwordTableViewCell", for: indexPath) as! PasswordTableViewCell
let entry = filteredPasswordsTableEntries[indexPath.row]
cell.configure(with: entry)
return cell
}
func showTableEntries(matching text: String) {
guard !text.isEmpty else {
filteredPasswordsTableEntries = passwordTableEntries
return
}
filteredPasswordsTableEntries = passwordTableEntries.filter { $0.match(text) }
}
}