mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-08 04:20:07 +02:00
👌 Add debounce to site search (#82)
This commit is contained in:
@ -1157,7 +1157,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MARKETING_VERSION = "5.0-wip";
|
MARKETING_VERSION = "5.0-dev";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@ -1182,7 +1182,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MARKETING_VERSION = "5.0-wip";
|
MARKETING_VERSION = "5.0-dev";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
PRODUCT_BUNDLE_IDENTIFIER = com.nicoverbruggen.phpmon;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
@ -172,13 +172,17 @@ class SiteListVC: NSViewController, NSTableViewDelegate, NSTableViewDataSource {
|
|||||||
|
|
||||||
if searchString.isEmpty {
|
if searchString.isEmpty {
|
||||||
sites = Valet.shared.sites
|
sites = Valet.shared.sites
|
||||||
tableView.reloadData()
|
|
||||||
|
DispatchQueue.main.async {
|
||||||
|
self.tableView.reloadData()
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
sites = Valet.shared.sites.filter({ site in
|
sites = Valet.shared.sites.filter({ site in
|
||||||
return site.name.lowercased().contains(searchString)
|
return site.name.lowercased().contains(searchString)
|
||||||
})
|
})
|
||||||
|
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
self.tableView.reloadData()
|
self.tableView.reloadData()
|
||||||
}
|
}
|
||||||
|
@ -34,12 +34,18 @@ class SiteListWC: PMWindowController, NSSearchFieldDelegate, NSToolbarDelegate {
|
|||||||
return self.contentViewController as! SiteListVC
|
return self.contentViewController as! SiteListVC
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var searchTimer: Timer?
|
||||||
|
|
||||||
func controlTextDidChange(_ notification: Notification) {
|
func controlTextDidChange(_ notification: Notification) {
|
||||||
guard let searchField = notification.object as? NSSearchField else {
|
guard let searchField = notification.object as? NSSearchField else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
contentVC.searchedFor(text: searchField.stringValue)
|
self.searchTimer?.invalidate()
|
||||||
|
|
||||||
|
searchTimer = Timer.scheduledTimer(withTimeInterval: 0.3, repeats: false, block: { _ in
|
||||||
|
self.contentVC.searchedFor(text: searchField.stringValue)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Reload functionality
|
// MARK: - Reload functionality
|
||||||
|
Reference in New Issue
Block a user