summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2014-02-14 19:22:22 +0100
committerPetr Vobornik <pvoborni@redhat.com>2014-04-15 12:41:53 +0200
commitcb486136dbf86d52e75e1684d4876fd46c44aa22 (patch)
tree72fea7cd7521c6d2606ef88e910c6da66b80ebf0 /install
parenta1c25122788ec7d9d7953db840ca6067f979432d (diff)
downloadfreeipa-cb486136dbf86d52e75e1684d4876fd46c44aa22.tar.gz
freeipa-cb486136dbf86d52e75e1684d4876fd46c44aa22.tar.xz
freeipa-cb486136dbf86d52e75e1684d4876fd46c44aa22.zip
webui: load page
Load page is a simple facet which is displayed up to 'runtime' phase. On application start it tells the user that there is ongoing activity. https://fedorahosted.org/freeipa/ticket/3903 Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Diffstat (limited to 'install')
-rw-r--r--install/ui/doc/categories.json3
-rw-r--r--install/ui/less/brand.less18
-rw-r--r--install/ui/less/plugins/load_page.less1
-rw-r--r--install/ui/src/freeipa/Application_controller.js25
-rw-r--r--install/ui/src/freeipa/app.js5
-rw-r--r--install/ui/src/freeipa/plugins/load_page.js65
6 files changed, 110 insertions, 7 deletions
diff --git a/install/ui/doc/categories.json b/install/ui/doc/categories.json
index d1e2d61e4..8d9fe6888 100644
--- a/install/ui/doc/categories.json
+++ b/install/ui/doc/categories.json
@@ -238,7 +238,8 @@
"aci",
"otptoken",
"radiusproxy",
- "user"
+ "user",
+ "plugins.load"
]
}
]
diff --git a/install/ui/less/brand.less b/install/ui/less/brand.less
index 72270a254..37c845ba6 100644
--- a/install/ui/less/brand.less
+++ b/install/ui/less/brand.less
@@ -29,4 +29,22 @@
// FreeIPA uses logo with height: 20px instead of 10px.
padding: 2px 0;
}
+}
+
+body {
+ background-color: #1D2226;
+ background-image: url("../images/login-screen-background.jpg");
+ background-position: top left;
+ background-size: auto;
+ background-repeat: no-repeat;
+}
+
+@media (min-width: 1280px) {
+ body {
+ background-size: 100% auto;
+ }
+}
+
+#container {
+ background-color: white;
} \ No newline at end of file
diff --git a/install/ui/less/plugins/load_page.less b/install/ui/less/plugins/load_page.less
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/install/ui/less/plugins/load_page.less
@@ -0,0 +1 @@
+
diff --git a/install/ui/src/freeipa/Application_controller.js b/install/ui/src/freeipa/Application_controller.js
index 9fd1c7042..f67dccf31 100644
--- a/install/ui/src/freeipa/Application_controller.js
+++ b/install/ui/src/freeipa/Application_controller.js
@@ -31,12 +31,13 @@ define([
'./widgets/App',
'./widgets/FacetContainer',
'./ipa',
+ './reg',
'./navigation/Menu',
'./navigation/Router',
'./navigation/menu_spec'
],
function(declare, lang, array, Deferred, on, topic, query, dom_class,
- JSON, App_widget, FacetContainer, IPA, Menu, Router, menu_spec) {
+ JSON, App_widget, FacetContainer, IPA, reg, Menu, Router, menu_spec) {
/**
* Application controller
@@ -113,6 +114,8 @@ define([
this.app_widget.hide();
simple_container.render();
simple_container.hide();
+ var load_facet = reg.facet.get('load');
+ this.show_facet(load_facet);
},
/**
@@ -154,8 +157,12 @@ define([
start_runtime: function() {
this.run_time = new Deferred();
+ // hide load or login facets
+ this.hide_facet();
+
IPA.update_password_expiration();
+
// now we are ready for displaying a facet,
// it can match a facet if hash is set
this.router.startup();
@@ -282,7 +289,10 @@ define([
},
on_facet_show: function(event) {
- var facet = event.facet;
+ this.show_facet(event.facet);
+ },
+
+ show_facet: function(facet) {
// choose container
var container = this.containers[facet.preferred_container];
@@ -307,11 +317,18 @@ define([
facet.container_node = container.widget.content_node;
on(facet, 'facet-state-change', lang.hitch(this, this.on_facet_state_changed));
}
+
+ this.hide_facet();
+ this.current_facet = facet;
+ facet.show();
+ },
+
+ hide_facet: function() {
+
if (this.current_facet) {
this.current_facet.hide();
}
- this.current_facet = facet;
- facet.show();
+ this.current_facet = null;
},
_find_menu_item: function(facet) {
diff --git a/install/ui/src/freeipa/app.js b/install/ui/src/freeipa/app.js
index 8ffc0e09c..a28ce8fc0 100644
--- a/install/ui/src/freeipa/app.js
+++ b/install/ui/src/freeipa/app.js
@@ -19,9 +19,10 @@
*/
define([
- //core
+ // core
'./app_container',
- //entities
+ './plugins/load_page',
+ // entities
'./aci',
'./automember',
'./automount',
diff --git a/install/ui/src/freeipa/plugins/load_page.js b/install/ui/src/freeipa/plugins/load_page.js
new file mode 100644
index 000000000..c8ff85b23
--- /dev/null
+++ b/install/ui/src/freeipa/plugins/load_page.js
@@ -0,0 +1,65 @@
+/* Authors:
+ * Petr Vobornik <pvoborni@redhat.com>
+ *
+ * Copyright (C) 2013 Red Hat
+ * see file 'COPYING' for use and warranty information
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+define([
+ 'dojo/_base/declare',
+ 'dojo/_base/lang',
+ 'dojo/on',
+ '../facets/Facet',
+ '../phases',
+ '../reg'
+
+ ],
+ function(declare, lang, on, Facet, phases, reg) {
+
+ /**
+ * Load Facet plugin
+ *
+ * @class plugins.load
+ * @singleton
+ */
+ var load = {};
+
+ load.facet_spec = {
+ name: 'load',
+ preferred_container: 'simple',
+ widgets: [
+ {
+ $type: 'activity',
+ name: 'activity',
+ text: 'Loading',
+ visible: true
+ }
+ ]
+ };
+
+ phases.on('registration', function() {
+
+ var fa = reg.facet;
+
+ fa.register({
+ type: 'load',
+ factory: Facet,
+ spec: load.facet_spec
+ });
+ });
+
+ return load;
+}); \ No newline at end of file