Better search functionality
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
7ce29c6eef
commit
d831156d78
|
@ -494,6 +494,24 @@ OC.Settings.Apps = OC.Settings.Apps || {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Splits the query by spaces and tries to find all substring in the app
|
||||||
|
* @param {string} string
|
||||||
|
* @param {string} query
|
||||||
|
* @returns {boolean}
|
||||||
|
*/
|
||||||
|
_search: function(string, query) {
|
||||||
|
var keywords = query.split(' '),
|
||||||
|
stringLower = string.toLowerCase(),
|
||||||
|
found = true;
|
||||||
|
|
||||||
|
_.each(keywords, function(keyword) {
|
||||||
|
found = found && stringLower.indexOf(keyword) !== -1;
|
||||||
|
});
|
||||||
|
|
||||||
|
return found;
|
||||||
|
},
|
||||||
|
|
||||||
filter: function(query) {
|
filter: function(query) {
|
||||||
var $appList = $('#apps-list'),
|
var $appList = $('#apps-list'),
|
||||||
$emptyList = $('#apps-list-empty');
|
$emptyList = $('#apps-list-empty');
|
||||||
|
@ -510,17 +528,17 @@ OC.Settings.Apps = OC.Settings.Apps || {
|
||||||
|
|
||||||
// App Name
|
// App Name
|
||||||
var apps = _.filter(OC.Settings.Apps.State.apps, function (app) {
|
var apps = _.filter(OC.Settings.Apps.State.apps, function (app) {
|
||||||
return app.name.toLowerCase().indexOf(query) !== -1;
|
return OC.Settings.Apps._search(app.name, query);
|
||||||
});
|
});
|
||||||
|
|
||||||
// App ID
|
// App ID
|
||||||
apps = apps.concat(_.filter(OC.Settings.Apps.State.apps, function (app) {
|
apps = apps.concat(_.filter(OC.Settings.Apps.State.apps, function (app) {
|
||||||
return app.id.toLowerCase().indexOf(query) !== -1;
|
return OC.Settings.Apps._search(app.id, query);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// App Description
|
// App Description
|
||||||
apps = apps.concat(_.filter(OC.Settings.Apps.State.apps, function (app) {
|
apps = apps.concat(_.filter(OC.Settings.Apps.State.apps, function (app) {
|
||||||
return app.description.toLowerCase().indexOf(query) !== -1;
|
return OC.Settings.Apps._search(app.description, query);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Author Name
|
// Author Name
|
||||||
|
@ -540,9 +558,9 @@ OC.Settings.Apps = OC.Settings.Apps || {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return authors.join(' ').toLowerCase().indexOf(query) !== -1;
|
return OC.Settings.Apps._search(authors.join(' '), query);
|
||||||
}
|
}
|
||||||
return app.author.toLowerCase().indexOf(query) !== -1;
|
return OC.Settings.Apps._search(app.author, query);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// App status
|
// App status
|
||||||
|
|
Loading…
Reference in New Issue