summaryrefslogtreecommitdiffstats
path: root/base/server/share/webapps/pki/js/pki-ui.js
diff options
context:
space:
mode:
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({