keycloak-memoizeit

new css

9/18/2013 5:34:51 PM

Details

diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/index.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/index.html
index ad1a87e..98755b7 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/index.html
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/index.html
@@ -11,13 +11,33 @@
         #idletimeout span { font-weight:bold }
     </style>
 
+    <link rel="icon" href="/auth-server/admin-ui/img/favicon.ico">
+
+    <!-- Frameworks -->
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/reset.css">
+    <link rel="stylesheet" href="/auth-server/admin-ui/bootstrap-3.0.0-wip/css/bootstrap.css">
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/sprites.css">
+    <link rel="stylesheet" href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic'>
+
+    <!-- RCUE styles -->
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/base.css">
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/forms.css">
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/header.css">
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/tabs.css">
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/icons.css">
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/tables.css">
+
+    <!-- Page styles -->
+    <link rel="stylesheet" href="/auth-server/admin-ui/css/admin-console.css">
+    <link href="lib/select2-3.4.1/select2.css" rel="stylesheet">
+<!--
     <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet">
     <link href="lib/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
     <link href="css/admin.css" rel="stylesheet">
     <link href="css/admin-responsive.css" rel="stylesheet">
-    <link href="lib/select2-3.4.1/select2.css" rel="stylesheet">
 
     <link href="css/styles.css" rel="stylesheet">
+-->
 
     <script src="lib/jquery/jquery-1.10.2.js" type="text/javascript"></script>
     <script src="lib/select2-3.4.1/select2.js" type="text/javascript"></script>
@@ -29,15 +49,21 @@
     <script src="lib/jquery/jquery.idletimer.js" type="text/javascript"></script>
     <script src="lib/jquery/jquery.idletimeout.js" type="text/javascript"></script>
     <script src="lib/angular/select2.js" type="text/javascript"></script>
+    <!--
+    <script src="/auth-server/admin-ui/bootstrap-3.0.0-wip/js/dropdown.js"></script>
+    <script src="/auth-server/admin-ui/bootstrap-3.0.0-wip/js/tooltip.js"></script>
+    <script src="/auth-server/admin-ui/js/bootstrap-tokenfield.js"></script>
+    -->
     <script src="js/app.js"></script>
     <script src="js/controllers.js"></script>
     <script src="js/loaders.js"></script>
     <script src="js/services.js"></script>
+    <!-- <script src="/auth-server/admin-ui/js/base.js"></script> -->
 
 
 </head>
 
-<body data-ng-controller="GlobalCtrl">
+<body class="admin-console" data-ng-controller="GlobalCtrl">
 <div id="idletimeout">
     You will be logged off in <span></span>&nbsp;seconds due to inactivity.
     <a id="idletimeout-resume" href="#">Click here to continue using this web page</a>.
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/app.js b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/app.js
index ca23826..1029c93 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/app.js
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/app.js
@@ -194,6 +194,51 @@ module.factory('spinnerInterceptor', function($q, $window, $rootScope, $location
 	};
 });
 
+// collapsable form fieldsets
+module.directive('collapsable', function() {
+    return function(scope, element, attrs) {
+        element.click(function() {
+            $(this).toggleClass('collapsed');
+            $(this).find('.toggle-icons').toggleClass('icon-collapse').toggleClass('icon-expand');
+            $(this).find('.toggle-icons').text($(this).text() == "Icon: expand" ? "Icon: collapse" : "Icon: expand");
+            $(this).parent().find('.form-group').toggleClass('hidden');
+        });
+    }
+});
+
+// collapsable form fieldsets
+module.directive('uncollapsed', function() {
+    return function(scope, element, attrs) {
+        element.prepend('<span class="icon-collapse toggle-icons">Icon: collapse</span>');
+        element.click(function() {
+            $(this).toggleClass('collapsed');
+            $(this).find('.toggle-icons').toggleClass('icon-collapse').toggleClass('icon-expand');
+            $(this).find('.toggle-icons').text($(this).text() == "Icon: expand" ? "Icon: collapse" : "Icon: expand");
+            $(this).parent().find('.form-group').toggleClass('hidden');
+        });
+    }
+});
+
+// collapsable form fieldsets
+module.directive('collapsed', function() {
+    return function(scope, element, attrs) {
+        element.prepend('<span class="icon-expand toggle-icons">Icon: expand</span>');
+        element.parent().find('.form-group').toggleClass('hidden');
+        element.click(function() {
+            $(this).toggleClass('collapsed');
+            $(this).find('.toggle-icons').toggleClass('icon-collapse').toggleClass('icon-expand');
+            $(this).find('.toggle-icons').text($(this).text() == "Icon: expand" ? "Icon: collapse" : "Icon: expand");
+            $(this).parent().find('.form-group').toggleClass('hidden');
+        });
+    }
+});
+
+
+
+
+
+
+
 module.directive('kcInput', function() {
 	var d = {
 		scope : true,
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/controllers.js b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/controllers.js
index edfa8d9..62bfc70 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/controllers.js
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/js/controllers.js
@@ -347,63 +347,43 @@ module.controller('RoleDetailCtrl', function($scope, realm, role, Role, $locatio
     };
 });
 
-module.controller('ApplicationListCtrl', function($scope, realm, applications, Application, $location, Dialog, Notifications) {
+module.controller('ApplicationListCtrl', function($scope, realm, applications, Application, $location) {
     console.log('ApplicationListCtrl');
     $scope.realm = realm;
-    $scope.selection = {
-        applications : angular.copy(applications),
-        application : null
-    };
-
-
-    $scope.create = false;
-
-    $scope.changeApplication = function() {
-        console.log('ApplicationListCtrl.changeApplication() - ' + $scope.selection.application.name);
-        $location.url("/realms/" + realm.id + "/applications/" + $scope.selection.application.id);
-    };
-
-
+    $scope.applications = applications;
+    $scope.$watch(function() {
+        return $location.path();
+    }, function() {
+        $scope.path = $location.path().substring(1).split("/");
+    });
 });
 
-module.controller('ApplicationDetailCtrl', function($scope, realm, applications, application, Application, $location, Dialog, Notifications) {
+module.controller('ApplicationDetailCtrl', function($scope, realm, application, Application, $location, Dialog, Notifications) {
     console.log('ApplicationDetailCtrl');
 
     $scope.realm = realm;
     $scope.create = !application.id;
-    var selection = {
-        applications : null,
-        application : null
-    };
-
-    selection.applications = applications;
-
-    for (var i=0;i < selection.applications.length; i++) {
-        if (selection.applications[i].name == application.name) {
-            console.log('app name: ' + application.name);
-            selection.application = selection.applications[i];
-            break;
-        }
-    }
-
-    $scope.selection = selection;
     if (!$scope.create) {
-        $scope.application= selection.application;
+        $scope.application= angular.copy(application);
     } else {
         $scope.application = {};
     }
 
-    $scope.changeApplication = function() {
-        console.log('ApplicationDetailCtrl.changeApplication() - ' + $scope.selection.application.name);
-        $location.url("/realms/" + realm.id + "/applications/" + $scope.selection.application.id);
-    };
+    $scope.$watch(function() {
+        return $location.path();
+    }, function() {
+        $scope.path = $location.path().substring(1).split("/");
+    });
 
     $scope.$watch('application', function() {
-        if (!angular.equals($scope.selection.application, application)) {
+        console.log('watch application');
+        if (!angular.equals($scope.application, application)) {
+            console.log('application changed');
             $scope.changed = true;
         }
     }, true);
 
+
     $scope.save = function() {
         if ($scope.applicationForm.$valid) {
 
@@ -447,7 +427,7 @@ module.controller('ApplicationDetailCtrl', function($scope, realm, applications,
         Dialog.confirmDelete($scope.application.name, 'application', function() {
             $scope.application.$remove({
                 realm : realm.id,
-                id : $scope.applicatino.id
+                id : $scope.application.id
             }, function() {
                 $location.url("/realms/" + realm.id + "/applications");
                 Notifications.success("Deleted application");
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-detail.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-detail.html
index 312adde..ddf08bc 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-detail.html
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-detail.html
@@ -1,71 +1,77 @@
 <div id="wrapper" class="container">
     <div class="row">
-        <aside class="span3" data-ng-include data-src="'partials/application-menu.html'"></aside>
-        <div id="actions-bg"></div>
-
-        <div id="container-right" class="span9">
-            <h1 data-ng-show="create"><span class="gray">New Application</span></h1>
-
-            <h1 data-ng-hide="create">
-                <span class="gray">Application Settings</span>
-            </h1>
-
-            <div data-ng-show="applicationForm.showErrors && applicationForm.$error.required" class="alert alert-error">Please fill
-                in all required fields
+        <div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
+        <div id="content-area" class="col-md-9" role="main">
+            <div class="top-nav">
+                <ul class="rcue-tabs">
+                    <li class="active"><a href="#">Settings</a></li>
+                    <li><a href="#">Credentials</a></li>
+                    <li><a href="#">Installation</a></li>
+                    <li><a href="#">Roles</a></li>
+                    <li><a href="#">Scopes</a></li>
+                    <li><a href="#">Sessions</a></li>
+                </ul>
             </div>
-            <p class="subtitle subtitle-right"><span class="required">*</span> Required fields</p>
-
-            <form class="form-horizontal" name="applicationForm" novalidate>
-                <fieldset>
-                    <legend>Settings</legend>
-
-                    <div data-kc-input>
-                        <label>Name</label>
-                        <input class="input-xlarge" type="text" name="name" data-ng-model="application.name" autofocus
-                               required>
-                    </div>
+            <div id="content">
+                <h2 class="pull-left" data-ng-show="create">New Application</h2>
+                <h2 class="pull-left" data-ng-hide="create">Application <span>{{application.name}}</span></h2>
+                <p class="subtitle"><span class="required">*</span> Required fields</p>
+                <form name="applicationForm" novalidate>
+                    <fieldset>
+                        <legend uncollapsed><span class="text">Application Settings</span></legend>
+                        <div class="form-group">
+                            <label for="name">Name</label><span class="required">*</span>
+                            <div class="controls">
+                            <input type="text" id="name" name="name" data-ng-model="application.name" autofocus
+                                   required>
+                            </div>
+                        </div>
 
-                    <div data-kc-input>
-                        <label>Enabled</label>
-                        <input class="input-xlarge" type="checkbox" name="enabled" data-ng-model="application.enabled">
-                    </div>
+                        <div class="form-group clearfix block">
+                            <label class="control-label">Enabled</label>
+                            <div class="onoffswitch">
+                                <input type="checkbox" data-ng-model="application.enabled" class="onoffswitch-checkbox"
+                                       name="enabled" id="enabled">
+                                <label for="enabled" class="onoffswitch-label">
+                                            <span class="onoffswitch-inner">
+                                                <span class="onoffswitch-active">ON</span>
+                                                <span class="onoffswitch-inactive">OFF</span>
+                                            </span>
+                                    <span class="onoffswitch-switch"></span>
+                                </label>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label for="adminUrl" class="control-label">Admin URL</label>
 
-                   <div data-kc-input>
-                        <label>User registration</label>
-                        <input class="input-xlarge" type="checkbox" name="social"
-                               data-ng-model="application.userRegistration">
+                            <div class="controls">
+                                <input class="input-small" type="text" name="adminUrl" id="adminUrl"
+                                       data-ng-model="application.adminUrl">
+                            </div>
+                        </div>
+                    </fieldset>
+                    <div class="form-actions" data-ng-show="create">
+                        <button type="submit" data-ng-click="save()" class="primary">Save
+                        </button>
+                        <button type="submit" data-ng-click="cancel()" data-ng-click="cancel()"
+                                data-ng-show="changed">Cancel
+                        </button>
                     </div>
 
-                    <div class="control-group">
-                        <label for="applicationForm-adminUrl" class="control-label">Admin URL</label>
-
-                        <div class="controls">
-                            <input class="input-small" type="text" name="adminUrl"
-                                   data-ng-model="application.adminUrl">
-                         </div>
+                    <div class="form-actions" data-ng-show="!create">
+                        <button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
+                            changes
+                        </button>
+                        <button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
+                        </button>
+                        <button type="submit" data-ng-click="remove()" class="danger">
+                            Delete
+                        </button>
                     </div>
-                </fieldset>
-                <div class="form-actions" data-ng-show="create">
-                    <button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
-                    </button>
-                    <button type="submit" data-ng-click="cancel()" class="btn" data-ng-click="cancel()"
-                            data-ng-show="changed">Cancel
-                    </button>
-                </div>
 
-                <div class="form-actions" data-ng-show="!create">
-                    <button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
-                        changes
-                    </button>
-                    <button type="submit" data-ng-click="reset()" class="btn" data-ng-show="changed">Clear changes
-                    </button>
-                    <button type="submit" data-ng-click="remove()" class="btn btn-danger" data-ng-hide="changed">
-                        Delete
-                    </button>
-                </div>
-
-            </form>
+                </form>
+            </div>
         </div>
         <div id="container-right-bg"></div>
     </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-list.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-list.html
index c767407..390e932 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-list.html
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-list.html
@@ -1,10 +1,56 @@
 <div id="wrapper" class="container">
     <div class="row">
-        <aside class="span3" data-ng-include data-src="'partials/application-menu.html'"></aside>
-        <div id="actions-bg"></div>
-
-        <div id="container-right" class="span9">
-
+        <div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
+        <div id="content-area" class="col-md-9" role="main">
+            <div class="top-nav" data-ng-hide="createRealm">
+                <ul class="rcue-tabs">
+                    <li class="active"><a href="#">Applications</a></li>
+                    <li><a href="#/create/application/{{realm.id}}">New Application</a></li>
+                </ul>
+            </div>
+            <div id="content">
+                <h2 class="pull-left">Applications</h2>
+                <table>
+                    <caption>Table of realm applications</caption>
+                    <thead>
+                    <tr>
+                        <th class="rcue-table-actions" colspan="4">
+                            <div class="search-comp clearfix">
+                                <input type="text" placeholder="Search..." class="search">
+                                <button class="icon-search tooltipRightTrigger"
+                                        data-original-title="Search by application name.">
+                                    Icon: search
+                                </button>
+                            </div>
+                        </th>
+                    </tr>
+                    <tr>
+                        <th>Application Name</th>
+                        <th>Enabled</th>
+                        <th>Base URL</th>
+                    </tr>
+                    </thead>
+                    <tfoot>
+                    <tr>
+                        <td colspan="3">
+                            <div class="table-nav">
+                                <a href="#" class="first disabled">First page</a><a href="#" class="prev disabled">Previous
+                                page</a><span><strong>1-8</strong> of <strong>10</strong></span><a href="#"
+                                                                                                   class="next">Next
+                                page</a><a href="#" class="last">Last page</a>
+                            </div>
+                        </td>
+                    </tr>
+                    </tfoot>
+                    <tbody class="selectable-rows">
+                    <tr ng-repeat="app in applications">
+                        <td><a href="#/realms/{{realm.id}}/applications/{{app.id}}">{{app.name}}</a></td>
+                        <td>{{app.enabled}}</td>
+                        <td></td>
+                    </tr>
+                    </tbody>
+                </table>
+            </div>
         </div>
         <div id="container-right-bg"></div>
     </div>
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-menu.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-menu.html
index 9246307..cd99b0b 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-menu.html
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/application-menu.html
@@ -1,25 +1,23 @@
 <div data-ng-hide="create">
-    <nav id="local-nav">
-        <div data-ng-show="selection.applications.length > 0"><span class="divider-vertical-right">Application </span>
-            <select ng-change="changeApplication()" ng-model="selection.application" ng-options="a.name for a in selection.applications">
-                <option value="">-- chose an application --</option>
-            </select>
-        </div>
-        <ul class="nav nav-list" data-ng-show="selection.application">
-            <li data-ng-class="path[4] == 'roles' && 'active'"><a
-                    href="#/realms/{{realm.id}}/applications/{{selection.application.id}}/roles">Application Roles</a>
-                <ul class="sub-items">
-                    <li data-ng-class="path[0] == 'create' && path[1] == 'role' && 'active'"><a
-                            href="#/create/role/realms/{{realm.id}}/applications/{{selection.application.id}}">Add Role</a></li>
-                </ul>
-            </li>
-        </ul>
-        <hr/>
-        <div>
-            <a href="#/create/application/{{realm.id}}">New Application...</a>
-        </div>
-        <div>
-            <a href="#/realms/{{realm.id}}">Back to realm management...</a>
-        </div>
-    </nav>
+    <div data-ng-show="selection.applications.length > 0"><span class="divider-vertical-right">Application </span>
+        <select ng-change="changeApplication()" ng-model="selection.application" ng-options="a.name for a in selection.applications">
+            <option value="">-- chose an application --</option>
+        </select>
+    </div>
+    <ul data-ng-show="selection.application">
+        <li data-ng-class="path[4] == 'roles' && 'active'"><a
+                href="#/realms/{{realm.id}}/applications/{{selection.application.id}}/roles">Application Roles</a>
+            <ul class="sub-items">
+                <li data-ng-class="path[0] == 'create' && path[1] == 'role' && 'active'"><a
+                        href="#/create/role/realms/{{realm.id}}/applications/{{selection.application.id}}">Add Role</a></li>
+            </ul>
+        </li>
+    </ul>
+    <hr/>
+    <div>
+        <a href="#/create/application/{{realm.id}}">New Application...</a>
+    </div>
+    <div>
+        <a href="#/realms/{{realm.id}}">Back to realm management...</a>
+    </div>
 </div>
\ No newline at end of file
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/menu.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/menu.html
index 21c4733..9845267 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/menu.html
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/menu.html
@@ -1,34 +1,48 @@
-<header class="navbar navbar-fixed-top">
-    <div class="navbar-inner">
-        <div class="container">
-            <div class="nav-collapse">
-                <nav id="global-nav">
-                    <div data-ng-controller="RealmDropdownCtrl" >
-                        <ul class="nav pull-left" data-ng-show="showNav()">
-                            <li class="divider-vertical-right"><a href="#/realms/{{current.realm.id}}">Realm</a></li>
-                        </ul>
-                        <select class="nav pull-left" data-ng-show="showNav()" ng-change="changeRealm()" ng-model="current.realm" ng-options="r.realm for r in current.realms">
-                        </select>
-                        <!-- <select class="nav pull-left" ng-options="r.name for r in current.realms"></select> -->
-                    </div>
-                    <ul class="nav pull-right" data-ng-hide="auth.loggedIn">
-                        <li><a href="/auth-server/rest/saas/login">Login</a></li>
-                        <li><a href="/auth-server/rest/saas/registrations">Register</a></li>
+<div class="header rcue">
+    <div class="navbar utility">
+        <div class="navbar-inner clearfix">
+            <h1><a href="#"><strong>Keycloak</strong> Central Login</a></h1>
+            <ul class="nav pull-right" data-ng-hide="auth.loggedIn">
+                <li><a href="/auth-server/rest/saas/login">Login</a></li>
+                <li><a href="/auth-server/rest/saas/registrations">Register</a></li>
+            </ul>
+            <ul class="nav pull-right" data-ng-show="auth.loggedIn">
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                        <span class="icon-user">Icon: user</span>{{auth.user.displayName}}<i class="caret"></i></a>
+                    <ul class="dropdown-menu">
+                        <li><a href="#">Manage Account</a></li>
+                        <li class="separator"><a href="/auth-server/rest/saas/logout">Sign Out</a></li>
                     </ul>
-                    <ul class="nav pull-right" data-ng-show="auth.loggedIn">
-                        <li class="divider-vertical-left dropdown"><a data-toggle="dropdown" class="dropdown-toggle" href="#"><i
-                                class="icon-user icon-gray"></i> Welcome: <b>{{auth.user.displayName}}</b> <i class="caret"></i></a>
-                            <ul class="dropdown-menu">
-                                <li><a href="/auth-server/rest/saas/logout">Sign Out</a></li>
-                            </ul>
-                        </li>
-                    </ul>
-                    <ul class="nav pull-right" data-ng-show="auth.loggedIn">
-                        <li class="divider-vertical-left" data-ng-class="path[0] == 'create' && path[1] == 'realm' && 'active'"
-                            data-ng-show="auth.loggedIn"><a href="#/create/realm">New Realm</a></li>
-                    </ul>
-                </nav>
-            </div>
+                </li>
+            </ul>
         </div>
     </div>
-</header>
\ No newline at end of file
+    <div class="navbar primary">
+        <div class="navbar-inner" data-ng-controller="RealmDropdownCtrl">
+            <ul class="nav pull-right" data-ng-show="auth.loggedIn">
+                <li class="divider-vertical-left" data-ng-class="path[0] == 'create' && path[1] == 'realm' && 'active'"
+                    data-ng-show="auth.loggedIn"><a href="#/create/realm">New Realm</a></li>
+            </ul>
+            <ul class="nav" >
+                <li data-ng-show="showNav()"><a href="#/realms/{{current.realm.id}}">Realm</a></li>
+                <li class="select-rcue" data-ng-show="showNav()"><select ng-change="changeRealm()" ng-model="current.realm" ng-options="r.realm for r in current.realms">
+                </select></li>
+            </ul>
+        </div>
+    </div>
+    <!--
+    <div class="navbar primary">
+        <div class="navbar-inner" data-ng-controller="RealmDropdownCtrl">
+            <ul class="nav pull-right" data-ng-show="auth.loggedIn">
+                <li class="divider-vertical-left" data-ng-class="path[0] == 'create' && path[1] == 'realm' && 'active'"
+                    data-ng-show="auth.loggedIn"><a href="#/create/realm">New Realm</a></li>
+            </ul>
+            <ul class="nav" data-ng-show="showNav()">
+                <li class="divider-vertical-right"><a href="#/realms/{{current.realm.id}}">Realm</a></li>
+            </ul>
+            <select class="nav pull-left" data-ng-show="showNav()" ng-change="changeRealm()" ng-model="current.realm" ng-options="r.realm for r in current.realms">
+            </select>
+        </div>
+    </div> -->
+</div><!-- End .header -->
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-credentials.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-credentials.html
new file mode 100755
index 0000000..14a0c63
--- /dev/null
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-credentials.html
@@ -0,0 +1,54 @@
+<div id="wrapper" class="container">
+    <div class="row">
+        <div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
+        <div id="content-area" class="col-md-9" role="main">
+            <div class="top-nav" data-ng-hide="createRealm">
+                <ul class="rcue-tabs">
+                    <li><a href="#">Settings</a></li>
+                    <li data-ng-show="realm.social"><a href="#">Social</a></li>
+                    <li><a href="#">Roles</a></li>
+                    <li class="active"><a href="#">Required Credentials</a></li>
+                    <li><a href="#">Token Settings</a></li>
+                </ul>
+            </div>
+            <div id="content">
+                <h2 class="pull-left">Realm: <span>{{realm.realm}}</span></h2>
+                <form name="realmForm" novalidate>
+                    <fieldset>
+                        <legend collapsed><span class="text">Required Credentials</span></legend>
+                        <div class="form-group">
+                            <label class="control-label">Required User Credentials</label>
+
+                            <div class="controls">
+                                <input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredCredentials">
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label">Required Application Credentials</label>
+
+                            <div class="controls">
+                                <input style="width:250;height:25" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredApplicationCredentials">
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label">Required OAuth Credentials</label>
+
+                            <div class="controls">
+                                <input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredOAuthClientCredentials">
+                            </div>
+                        </div>
+                    </fieldset>
+                   <div class="form-actions">
+                        <button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
+                            changes
+                        </button>
+                        <button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
+                        </button>
+                    </div>
+
+                </form>
+            </div>
+        </div>
+        <div id="container-right-bg"></div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-detail.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-detail.html
index a5675d8..b997e5d 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-detail.html
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-detail.html
@@ -1,164 +1,178 @@
 <div id="wrapper" class="container">
     <div class="row">
-        <aside class="span3" data-ng-include data-src="'partials/realm-menu.html'"></aside>
-        <div id="actions-bg"></div>
-
-        <div id="container-right" class="span9">
-            <h1 data-ng-show="createRealm"><span class="gray">New Realm</span></h1>
-
-            <h1 data-ng-hide="createRealm">
-                <span class="gray">Realm Settings</span>
-            </h1>
-
-            <div data-ng-show="realmForm.showErrors && realmForm.$error.required" class="alert alert-error">Please fill
-                in all required fields
+        <div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
+        <div id="content-area" class="col-md-9" role="main">
+            <div class="top-nav" data-ng-hide="createRealm">
+                <ul class="rcue-tabs">
+                    <li class="active"><a href="#">Settings</a></li>
+                    <li data-ng-show="realm.social"><a href="#">Social</a></li>
+                    <li><a href="#">Roles</a></li>
+                    <li><a href="#">Required Credentials</a></li>
+                    <li><a href="#">Token Settings</a></li>
+                </ul>
             </div>
-            <p class="subtitle subtitle-right"><span class="required">*</span> Required fields</p>
-
-            <form class="form-horizontal" name="realmForm" novalidate>
-                <fieldset>
-
-                    <div class="control-group">
-                        <label for="realmForm-name" class="control-label">Name <span class="required">*</span></label>
-
-                        <div class="controls">
-                            <input class="input-xlarge" type="text" name="name" data-ng-model="realm.realm" autofocus
-                                   required>
+            <div id="content">
+                <h2 class="pull-left" data-ng-show="createRealm">New Realm</h2>
+                <h2 class="pull-left" data-ng-hide="createRealm">Realm: <span>{{realm.realm}}</span></h2>
+                <p class="subtitle" data-ng-show="createRealm"><span class="required">*</span> Required fields</p>
+                <form name="realmForm" novalidate>
+                    <fieldset>
+                        <legend uncollapsed><span class="text">Required Settings</span> </legend>
+                        <div class="form-group">
+                            <label for="name">Name </label><span class="required" data-ng-show="createRealm">*</span>
+
+                            <div class="controls">
+                                <input type="text" id="name" name="name" data-ng-model="realm.realm" autofocus
+                                       required>
+                            </div>
                         </div>
-                    </div>
-
-                     <table>
-                        <tr>
-                            <td>
-                                <div class="control-group">
-                                    <label class="control-label">Enabled</label>
-
-                                    <div class="controls">
-                                        <input class="input-xlarge" type="checkbox" name="enabled"
-                                               data-ng-model="realm.enabled">
-                                    </div>
-                                </div>
-                            </td>
-                            <td>
-                                <div class="control-group">
-                                    <label class="control-label">Social login</label>
-
-                                    <div class="controls">
-                                        <input class="input-xlarge" type="checkbox" name="social"
-                                               data-ng-model="realm.social">
-                                    </div>
-                                </div>
-                            </td>
-                        </tr>
-                        <tr>
-                            <td>
-                                <div class="control-group">
-                                    <label class="control-label">Require SSL</label>
-
-                                    <div class="controls">
-                                        <input class="input-xlarge" type="checkbox" name="requireSsl"
-                                               data-ng-model="realm.requireSsl">
-                                    </div>
+                        <div class="form-group">
+                            <label class="control-label">Enabled</label>
+
+                            <div class="onoffswitch">
+                                <input type="checkbox" data-ng-model="realm.enabled" class="onoffswitch-checkbox"
+                                       name="enabled" id="enabled">
+                                <label for="enabled" class="onoffswitch-label">
+                                            <span class="onoffswitch-inner">
+                                                <span class="onoffswitch-active">ON</span>
+                                                <span class="onoffswitch-inactive">OFF</span>
+                                            </span>
+                                    <span class="onoffswitch-switch"></span>
+                                </label>
+                            </div>
+                        </div>
+                    </fieldset>
+                    <fieldset>
+                        <legend uncollapsed><span class="text">Login Options</span></legend>
+                        <div class="form-group clearfix block">
+                            <label class="control-label">Social login</label>
+                            <div class="onoffswitch">
+                                <input type="checkbox" data-ng-model="realm.social" class="onoffswitch-checkbox" name="social" id="social">
+                                <label for="social" class="onoffswitch-label">
+                                            <span class="onoffswitch-inner">
+                                                <span class="onoffswitch-active">ON</span>
+                                                <span class="onoffswitch-inactive">OFF</span>
+                                            </span>
+                                    <span class="onoffswitch-switch"></span>
+                                </label>
+                            </div>
+                        </div>
+                        <div class="form-group clearfix block">
+                            <label class="control-label">User registration</label>
+                            <div class="onoffswitch">
+                                <input type="checkbox" data-ng-model="realm.userRegistration" class="onoffswitch-checkbox" name="userRegistration" id="userRegistration">
+                                <label for="userRegistration" class="onoffswitch-label">
+                                            <span class="onoffswitch-inner">
+                                                <span class="onoffswitch-active">ON</span>
+                                                <span class="onoffswitch-inactive">OFF</span>
+                                            </span>
+                                    <span class="onoffswitch-switch"></span>
+                                </label>
+                            </div>
+                        </div>
+                        <div class="form-group clearfix block">
+                            <label class="control-label">Require SSL</label>
+                            <div class="onoffswitch">
+                                <input type="checkbox" data-ng-model="realm.requireSsl" class="onoffswitch-checkbox" name="requireSsl" id="requireSsl">
+                                <label for="requireSsl" class="onoffswitch-label">
+                                            <span class="onoffswitch-inner">
+                                                <span class="onoffswitch-active">ON</span>
+                                                <span class="onoffswitch-inactive">OFF</span>
+                                            </span>
+                                    <span class="onoffswitch-switch"></span>
+                                </label>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label">Cookie login allowed</label>
+                            <div class="onoffswitch">
+                                <input type="checkbox" data-ng-model="realm.cookieLoginAllowed" class="onoffswitch-checkbox" name="cookieLoginAllowed" id="cookieLoginAllowed">
+                                <label for="cookieLoginAllowed" class="onoffswitch-label">
+                                            <span class="onoffswitch-inner">
+                                                <span class="onoffswitch-active">ON</span>
+                                                <span class="onoffswitch-inactive">OFF</span>
+                                            </span>
+                                    <span class="onoffswitch-switch"></span>
+                                </label>
+                            </div>
+                        </div>
+                    </fieldset>
+                    <fieldset>
+                        <legend collapsed><span class="text">Token Settings</span></legend>
+                        <div class="form-group input-select">
+                            <label for="tokenLifespan">Token lifespan</label>
+                            <div class="input-group">
+                                <input type="text" data-ng-model="realm.tokenLifespan" id="tokenLifespan" name="tokenLifespan" class="tiny">
+                                <div class="select-rcue">
+                                    <select name="tokenLifespanUnit" data-ng-model="realm.tokenLifespanUnit">
+                                        <option data-ng-selected="!realm.tokenLifespanUnit">Seconds</option>
+                                        <option>Minutes</option>
+                                        <option>Hours</option>
+                                        <option>Days</option>
+                                    </select>
                                 </div>
-                            </td>
-                            <td>
-                                <div class="control-group">
-                                    <label class="control-label">Cookie login allowed</label>
-
-                                    <div class="controls">
-                                        <input class="input-xlarge" type="checkbox" name="cookieLoginAllowed"
-                                               data-ng-model="realm.cookieLoginAllowed">
-                                    </div>
+                            </div>
+                        </div>
+                        <div class="form-group input-select">
+                            <label for="accessCodeLifespan">Access code lifespan</label>
+                            <div class="input-group">
+                                <input type="text" data-ng-model="realm.accessCodeLifespan" id="accessCodeLifespan" name="accessCodeLifespan" class="tiny">
+                                <div class="select-rcue">
+                                    <select name="accessCodeLifespanUnit" data-ng-model="realm.accessCodeLifespanUnit">
+                                        <option data-ng-selected="!realm.accessCodeLifespanUnit">Seconds</option>
+                                        <option>Minutes</option>
+                                        <option>Hours</option>
+                                        <option>Days</option>
+                                    </select>
                                 </div>
-                            </td>
-                        </tr>
-                         <tr>
-                             <td>
-                                 <div class="control-group">
-                                     <label class="control-label">User registration</label>
-
-                                     <div class="controls">
-                                         <input class="input-xlarge" type="checkbox" name="userRegistration"
-                                                data-ng-model="realm.userRegistration">
-                                     </div>
-                                 </div>
-                             </td>
-                         </tr>
-                    </table>
-
-                    <div class="control-group">
-                        <label for="realmForm-tokenLifespan" class="control-label">Token lifespan</label>
-
-                        <div class="controls">
-                            <input class="input-small" type="text" name="tokenLifespan"
-                                   data-ng-model="realm.tokenLifespan">
-                            <select style="width: auto;" name="tokenLifespanUnit"
-                                    data-ng-model="realm.tokenLifespanUnit">
-                                <option value="SECONDS" data-ng-selected="!realm.tokenLifespanUnit">Seconds</option>
-                                <option value="MINUTES">Minutes</option>
-                                <option value="HOURS">Hours</option>
-                                <option value="DAYS">Days</option>
-                            </select>
+                            </div>
                         </div>
-                    </div>
-                    <div class="control-group">
-                        <label for="realmForm-accessCodeLifespan" class="control-label">Access code lifespan</label>
-
-                        <div class="controls">
-                            <input class="input-small" type="text" name="accessCodeLifespan"
-                                   data-ng-model="realm.accessCodeLifespan">
-                            <select style="width: auto;" name="accessCodeLifespanUnit"
-                                    data-ng-model="realm.accessCodeLifespanUnit">
-                                <option value="SECONDS" data-ng-selected="!realm.accessCodeLifespanUnit">Seconds
-                                </option>
-                                <option value="MINUTES">Minutes</option>
-                                <option value="HOURS">Hours</option>
-                                <option value="DAYS">Days</option>
-                            </select>
+                     </fieldset>
+                    <fieldset>
+                        <legend collapsed><span class="text">Default Credential Settings</span></legend>
+                        <div class="form-group">
+                            <label class="control-label">Required User Credentials</label>
+
+                            <div class="controls">
+                                <input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredCredentials">
+                            </div>
                         </div>
-                    </div>
-                    <div class="control-group">
-                        <label class="control-label">Required User Credentials</label>
+                        <div class="form-group">
+                            <label class="control-label">Required Application Credentials</label>
 
-                        <div class="controls">
-                            <input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredCredentials">
+                            <div class="controls">
+                                <input style="width:250;height:25" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredApplicationCredentials">
+                            </div>
                         </div>
-                    </div>
-                    <div class="control-group">
-                        <label class="control-label">Required Application Credentials</label>
+                        <div class="form-group">
+                            <label class="control-label">Required OAuth Credentials</label>
 
-                        <div class="controls">
-                            <input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredApplicationCredentials">
+                            <div class="controls">
+                                <input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredOAuthClientCredentials">
+                            </div>
                         </div>
+                    </fieldset>
+                    <div class="form-actions" data-ng-show="createRealm">
+                        <button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
+                        </button>
+                        <button type="submit" data-ng-click="cancel()" data-ng-click="cancel()"
+                                data-ng-show="changed">Cancel
+                        </button>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">Required OAuth Credentials</label>
 
-                        <div class="controls">
-                            <input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredOAuthClientCredentials">
-                        </div>
+                    <div class="form-actions" data-ng-show="!createRealm">
+                        <button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
+                            changes
+                        </button>
+                        <button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
+                        </button>
+                        <button type="submit" data-ng-click="remove()" class="danger" data-ng-hide="changed">
+                            Delete
+                        </button>
                     </div>
-                </fieldset>
-                <div class="form-actions" data-ng-show="createRealm">
-                    <button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
-                    </button>
-                    <button type="submit" data-ng-click="cancel()" class="btn" data-ng-click="cancel()"
-                            data-ng-show="changed">Cancel
-                    </button>
-                </div>
-
-                <div class="form-actions" data-ng-show="!createRealm">
-                    <button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
-                        changes
-                    </button>
-                    <button type="submit" data-ng-click="reset()" class="btn" data-ng-show="changed">Clear changes
-                    </button>
-                    <button type="submit" data-ng-click="remove()" class="btn btn-danger" data-ng-hide="changed">
-                        Delete
-                    </button>
-                </div>
 
-            </form>
+                </form>
+            </div>
         </div>
         <div id="container-right-bg"></div>
     </div>
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-menu.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-menu.html
index ae5217a..1f109c6 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-menu.html
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-menu.html
@@ -1,22 +1,7 @@
-<div data-ng-hide="createRealm">
-    <nav id="local-nav">
-        <ul class="nav nav-list">
-            <li data-ng-class="path[2] == 'users' && 'active'"><a href="#/realms/{{realm.id}}/users">Users</a>
-                <ul class="sub-items">
-                    <li data-ng-class="path[0] == 'create' && path[1] == 'user' && 'active'"><a
-                            href="#/create/user/{{realm.id}}">New User</a></li>
-                    <li data-ng-class="path[0] == 'find' && path[1] == 'user' && 'active'"><a
-                            href="#/realms/{{realm.id}}/users">Find User</a></li>
-                </ul>
-            </li>
-            <li data-ng-class="path[2] == 'roles' && 'active'"><a href="#/realms/{{realm.id}}/roles">Roles</a>
-                <ul class="sub-items">
-                    <li data-ng-class="path[0] == 'create' && path[1] == 'role' && 'active'"><a
-                            href="#/create/role/{{realm.id}}">New Role</a></li>
-                </ul>
-            </li>
-            <li data-ng-class="path[2] == 'applications' && 'active'"><a href="#/realms/{{realm.id}}/applications">Manage Applications</a></li>
-            <li data-ng-class="!path[2] && 'active'"><a href="#/realms/{{realm.id}}">Realm Settings</a></li>
-        </ul>
-    </nav>
-</div>
\ No newline at end of file
+<ul data-ng-hide="createRealm">
+    <li data-ng-class="!path[2] && 'active'"><a href="#/realms/{{realm.id}}">Realm Settings</a></li>
+    <li data-ng-class="path[2] == 'users' && 'active'"><a href="#/realms/{{realm.id}}/users">Users</a>
+    </li>
+    <li data-ng-class="(path[2] == 'applications' || path[1] == 'application') && 'active'"><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
+</ul>
+
diff --git a/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-tokens.html b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-tokens.html
new file mode 100755
index 0000000..442ec88
--- /dev/null
+++ b/examples/as7-eap-demo/server/src/main/webapp/saas/admin/partials/realm-tokens.html
@@ -0,0 +1,60 @@
+<div id="wrapper" class="container">
+    <div class="row">
+        <div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
+        <div id="content-area" class="col-md-9" role="main">
+            <div class="top-nav" data-ng-hide="createRealm">
+                <ul class="rcue-tabs">
+                    <li><a href="#">Settings</a></li>
+                    <li data-ng-show="realm.social"><a href="#">Social</a></li>
+                    <li><a href="#">Roles</a></li>
+                    <li><a href="#">Required Credentials</a></li>
+                    <li class="active"><a href="#">Token Settings</a></li>
+                </ul>
+            </div>
+            <div id="content">
+                <h2 class="pull-left">Realm: <span>{{realm.realm}}</span></h2>
+                <form name="realmForm" novalidate>
+                    <fieldset>
+                        <legend collapsed><span class="text">Token Settings</span></legend>
+                        <div class="form-group input-select">
+                            <label for="tokenLifespan">Token lifespan</label>
+                            <div class="input-group">
+                                <input type="text" data-ng-model="realm.tokenLifespan" id="tokenLifespan" name="tokenLifespan" class="tiny">
+                                <div class="select-rcue">
+                                    <select name="tokenLifespanUnit" data-ng-model="realm.tokenLifespanUnit">
+                                        <option data-ng-selected="!realm.tokenLifespanUnit">Seconds</option>
+                                        <option>Minutes</option>
+                                        <option>Hours</option>
+                                        <option>Days</option>
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="form-group input-select">
+                            <label for="accessCodeLifespan">Access code lifespan</label>
+                            <div class="input-group">
+                                <input type="text" data-ng-model="realm.accessCodeLifespan" id="accessCodeLifespan" name="accessCodeLifespan" class="tiny">
+                                <div class="select-rcue">
+                                    <select name="accessCodeLifespanUnit" data-ng-model="realm.accessCodeLifespanUnit">
+                                        <option data-ng-selected="!realm.accessCodeLifespanUnit">Seconds</option>
+                                        <option>Minutes</option>
+                                        <option>Hours</option>
+                                        <option>Days</option>
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
+                     </fieldset>
+                    <div class="form-actions">
+                        <button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
+                            changes
+                        </button>
+                        <button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
+                        </button>
+                    </div>
+               </form>
+            </div>
+        </div>
+        <div id="container-right-bg"></div>
+    </div>
+</div>
\ No newline at end of file