diff options
author | Endi S. Dewata <edewata@redhat.com> | 2016-03-15 21:10:30 +0100 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2016-03-17 01:03:43 +0100 |
commit | 2e02c078fb57fa806d3ff2bf7a1ed2df34966acc (patch) | |
tree | 03c9803a6445b3fcbc982359adc82d36fccb76ab /base/server/share/webapps/pki/js/pki-ui.js | |
parent | b5637ae9c646c99efce4ff874666b75400502b2d (diff) | |
download | pki-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.js | 28 |
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({ |