summaryrefslogtreecommitdiffstats
path: root/install/ui/src/freeipa/Application_controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'install/ui/src/freeipa/Application_controller.js')
-rw-r--r--install/ui/src/freeipa/Application_controller.js50
1 files changed, 48 insertions, 2 deletions
diff --git a/install/ui/src/freeipa/Application_controller.js b/install/ui/src/freeipa/Application_controller.js
index 43d5409ce..32add5f8f 100644
--- a/install/ui/src/freeipa/Application_controller.js
+++ b/install/ui/src/freeipa/Application_controller.js
@@ -32,6 +32,8 @@ define([
'./widgets/FacetContainer',
'./ipa',
'./reg',
+ './config',
+ './widget',
'./navigation/Menu',
'./navigation/Router',
'./navigation/routing',
@@ -39,7 +41,8 @@ define([
'./plugins/load_page'
],
function(declare, array, Deferred, on, topic, query, dom_class, auth,
- JSON, App_widget, FacetContainer, IPA, reg, Menu, Router, routing, menu_spec) {
+ JSON, App_widget, FacetContainer, IPA, reg, config, widget_mod,
+ Menu, Router, routing, menu_spec) {
/**
* Application controller
@@ -110,6 +113,7 @@ define([
on(this.app_widget, 'profile-click', this.on_profile.bind(this));
on(this.app_widget, 'logout-click', this.on_logout.bind(this));
on(this.app_widget, 'password-reset-click', this.on_password_reset.bind(this));
+ on(this.app_widget, 'configuration-click', this.on_configuration.bind(this));
on(this.app_widget, 'about-click', this.on_about.bind(this));
on(this.router, 'facet-show', this.on_facet_show.bind(this));
@@ -173,7 +177,6 @@ define([
IPA.update_password_expiration();
-
// now we are ready for displaying a facet,
// it can match a facet if hash is set
this.router.startup();
@@ -239,6 +242,49 @@ define([
IPA.password_selfservice();
},
+ on_configuration: function() {
+ var dialog = IPA.dialog({
+ title: '@i18n:customization.customization',
+ fields: [
+ {
+ $type: 'text',
+ name: 'pagination_size',
+ label: '@i18n:customization.table_pagination',
+ validators: ['integer']
+ }
+ ]
+ });
+
+ dialog.create_button({
+ name: 'save',
+ label: '@i18n:buttons.save',
+ click: function () {
+ if (!dialog.validate()) {
+ widget_mod.focus_invalid(dialog);
+ return;
+ }
+ var widget = dialog.get_field('pagination_size').widget;
+ var new_value = widget.get_value()[0];
+ config.set('table_page_size', new_value, true);
+ topic.publish('change-pagination');
+ dialog.close();
+ }
+ });
+
+ dialog.create_button({
+ name: 'cancel',
+ label: '@i18n:buttons.cancel',
+ click: function () {
+ dialog.close();
+ }
+ });
+
+ dialog.open();
+
+ var size = config.get('table_page_size').toString();
+ dialog.get_field('pagination_size').set_value([size]);
+ },
+
on_about: function() {
var dialog = IPA.about_dialog();
dialog.open();