Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marius-wieschollek/passwords-webextension.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflo-mic <florianmichel@hotmail.de>2021-02-21 11:55:31 +0300
committerflo-mic <florianmichel@hotmail.de>2021-02-21 11:55:31 +0300
commit4b641d4b1884f1a1086386c650cd578777e8c42a (patch)
treee3ed9d5c49de1af0a5d7741bde271e9a841e8a1d /src/js/Manager/RecommendationManager.js
parent8664883c07dff86a25fd30513246f9b15605142d (diff)
apply requested changes from reviewer
Diffstat (limited to 'src/js/Manager/RecommendationManager.js')
-rw-r--r--src/js/Manager/RecommendationManager.js35
1 files changed, 20 insertions, 15 deletions
diff --git a/src/js/Manager/RecommendationManager.js b/src/js/Manager/RecommendationManager.js
index f3e8f0a..e534861 100644
--- a/src/js/Manager/RecommendationManager.js
+++ b/src/js/Manager/RecommendationManager.js
@@ -40,7 +40,7 @@ class RecommendationManager {
initRecommendationOptions() {
this.options = { searchQuery: "host", maxResults: 8 }
- SettingsService.getValue('search.recommendation.option')
+ SettingsService.getValue('search.recommendation.mode')
.then((value) => {
if(value) {
this.options.searchQuery = value;
@@ -83,20 +83,7 @@ class RecommendationManager {
let query = new SearchQuery('or');
query
- .where(
- // search by domain
- (this.options.searchQuery === "domain" ? query.field('host').contains(this.getSearchDomainFromHost(url.host)):
- // search by hostname
- (this.options.searchQuery === "host" ? query.field('host').startsWith(url.host.split(':')[0]):
- // search by hostname and port
- (this.options.searchQuery === "hostport" ? query.field('host').equals(url.host):
- // search exact
- (this.options.searchQuery === "exact" ? query.field('url').equals(url.protocol + "//" + url.host + (url.pathname.length > 1 ? url.pathname: "")):
- "")
- )
- )
- )
- )
+ .where(this.getFilterQuery(query, url))
.type('password')
.score(0.3)
.limit(this.options.maxRows)
@@ -112,6 +99,24 @@ class RecommendationManager {
}
/**
+ * @param {SearchQuery} query
+ * @param {String} url
+ */
+ getFilterQuery(query, url) {
+ let mode = this.options.searchQuery;
+ if(mode === 'domain') {
+ return query.field('host').contains(this.getSearchDomainFromHost(url.host));
+ } else if(mode === 'host') {
+ return query.field('host').startsWith(url.host.split(':')[0]);
+ } else if(mode === 'hostport') {
+ return query.field('host').equals(url.host);
+ } else {
+ return query.field('url').equals(url.protocol + "//" + url.host + (url.pathname.length > 1 ? url.pathname: ""));
+ }
+ }
+
+
+ /**
* @param {String} host
*/
getSearchDomainFromHost(host) {