diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2014-02-14 19:22:22 +0100 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2014-04-15 12:41:53 +0200 |
commit | cb486136dbf86d52e75e1684d4876fd46c44aa22 (patch) | |
tree | 72fea7cd7521c6d2606ef88e910c6da66b80ebf0 /install | |
parent | a1c25122788ec7d9d7953db840ca6067f979432d (diff) | |
download | freeipa-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.json | 3 | ||||
-rw-r--r-- | install/ui/less/brand.less | 18 | ||||
-rw-r--r-- | install/ui/less/plugins/load_page.less | 1 | ||||
-rw-r--r-- | install/ui/src/freeipa/Application_controller.js | 25 | ||||
-rw-r--r-- | install/ui/src/freeipa/app.js | 5 | ||||
-rw-r--r-- | install/ui/src/freeipa/plugins/load_page.js | 65 |
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 |