42 lines
1.3 KiB
Swift
42 lines
1.3 KiB
Swift
//
|
|
// 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) }
|
|
}
|
|
}
|