summaryrefslogtreecommitdiffstats
path: root/base/server/share/webapps/pki/js/pki-ui.js
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2016-03-15 21:10:30 +0100
committerEndi S. Dewata <edewata@redhat.com>2016-03-17 01:03:43 +0100
commit2e02c078fb57fa806d3ff2bf7a1ed2df34966acc (patch)
tree03c9803a6445b3fcbc982359adc82d36fccb76ab /base/server/share/webapps/pki/js/pki-ui.js
parentb5637ae9c646c99efce4ff874666b75400502b2d (diff)
downloadpki-2e02c078fb57fa806d3ff2bf7a1ed2df34966acc.tar.gz
pki-2e02c078fb57fa806d3ff2bf7a1ed2df34966acc.tar.xz
pki-2e02c078fb57fa806d3ff2bf7a1ed2df34966acc.zip
Added TPS token filter dialog.
The TPS UI Tokens page and the pki tps-token-find CLI have been modified to provide an interface to filter tokens based on their attributes. The TokenService.findTokens() has been modified to accept additional search criteria based on token attributes. https://fedorahosted.org/pki/ticket/1482
Diffstat (limited to 'base/server/share/webapps/pki/js/pki-ui.js')
-rw-r--r--base/server/share/webapps/pki/js/pki-ui.js28
1 files changed, 22 insertions, 6 deletions
diff --git a/base/server/share/webapps/pki/js/pki-ui.js b/base/server/share/webapps/pki/js/pki-ui.js
index 96c92f3f1..0b5cdb0dd 100644
--- a/base/server/share/webapps/pki/js/pki-ui.js
+++ b/base/server/share/webapps/pki/js/pki-ui.js
@@ -198,6 +198,7 @@ var Dialog = Backbone.View.extend({
self.title = options.title;
self.content = options.content;
+ self.entry = options.entry || {};
// list of readonly fields
// by default all fields are editable
@@ -499,11 +500,15 @@ var Table = Backbone.View.extend({
var self = this;
Table.__super__.initialize.call(self, options);
+
self.entries = options.entries || [];
self.columnMappings = options.columnMappings || {};
self.mode = options.mode || "view";
self.parent = options.parent;
+ self.searchFilter = "";
+ self.searchAttributes = {};
+
self.addDialog = options.addDialog;
self.editDialog = options.editDialog;
self.viewDialog = options.viewDialog;
@@ -525,6 +530,9 @@ var Table = Backbone.View.extend({
self.searchField = $("input[name='search']", self.thead);
self.searchField.keypress(function(e) {
if (e.which == 13) {
+
+ self.searchFilter = self.searchField.val();
+
// show the first page of search results
self.page = 1;
self.render();
@@ -634,11 +642,10 @@ var Table = Backbone.View.extend({
var self = this;
// perform manual filter
- var filter = self.searchField.val();
self.filteredEntries = [];
_(self.entries).each(function(item, index) {
- if (!self.matchesFilter(item, filter)) return;
+ if (!self.matchesFilter(item, self.searchFilter)) return;
self.filteredEntries.push(item);
});
@@ -792,11 +799,20 @@ var ModelTable = Table.extend({
}
// set query based on current page, page size, and filter
- self.collection.query({
+ var params = {
start: (self.page - 1) * self.pageSize,
- size: self.pageSize,
- filter: self.searchField.val()
- });
+ size: self.pageSize
+ };
+
+ if (self.searchFilter != null) {
+ params["filter"] = self.searchFilter;
+ }
+
+ if (!_.isEmpty(self.searchAttributes)) {
+ _.extend(params, self.searchAttributes);
+ }
+
+ self.collection.query(params);
// fetch data based on query
self.collection.fetch({