From b01220cc38b2bcaeb35931bda1dc9a258ff3850b Mon Sep 17 00:00:00 2001
From: "Endi S. Dewata"
Date: Fri, 27 May 2011 16:30:41 -0500
Subject: Added pagination for associations.
The association facet has been modified to support pagination. The
UI will show 20 members per page. There are buttons to go to a
previous or next page. There is also an input text to jump directly
to a certain page.
Ticket #1011
---
install/ui/associate.js | 146 +++++++++++++++++++++++++++++++-----------------
1 file changed, 95 insertions(+), 51 deletions(-)
(limited to 'install/ui/associate.js')
diff --git a/install/ui/associate.js b/install/ui/associate.js
index 5eb84260..ad2da521 100644
--- a/install/ui/associate.js
+++ b/install/ui/associate.js
@@ -468,19 +468,20 @@ IPA.association_table_widget = function (spec) {
that.get_records = function(on_success, on_error) {
- if (!that.values.length) return;
+ var length = that.values.length;
+ if (!length) return;
+
+ if (length > 100) {
+ length = 100;
+ }
var batch = IPA.batch_command({
'name': that.entity_name+'_'+that.name,
'on_success': on_success,
'on_error': on_error
});
- var length = that.values.length;
- if (length > 100){
- length = 100;
- }
- for (var i=0; i< length; i++) {
+ for (var i=0; i total ? total : end;
- var command = IPA.command({
- entity: that.other_entity,
- method: 'find',
- args: args,
- options: options,
- on_success: on_success,
- on_error: on_error
+ var summary = 'Showing '+start+' to '+end+' of '+total+' entries.';
+ that.table.summary.text(summary);
+
+ var list = pkeys.slice(start-1, end);
+
+ var columns = that.table.columns.values;
+ if (columns.length == 1) { // show pkey only
+ var name = columns[0].name;
+ that.table.empty();
+ for (var i=0; iError: '+error_thrown.name+'
');
+ summary.append(''+error_thrown.message+'
');
+ }
+ );
+ }
+ };
+
+ that.get_records = function(pkeys, on_success, on_error) {
+
+ var length = pkeys.length;
+ if (!length) return;
+
+ var batch = IPA.batch_command({
+ 'name': that.entity_name+'_'+that.name,
+ 'on_success': on_success,
+ 'on_error': on_error
});
- command.execute();
+ for (var i=0; i