syncope-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fmarte...@apache.org
Subject [1/4] syncope git commit: [SYNCOPE-156] providing material style for buttons
Date Thu, 31 Dec 2015 08:20:11 GMT
Repository: syncope
Updated Branches:
  refs/heads/master 24cb528e6 -> 6a93860d8


[SYNCOPE-156] providing material style for buttons


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/e5990330
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/e5990330
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/e5990330

Branch: refs/heads/master
Commit: e5990330f193fd7e0777b37ea5128b939e9000a8
Parents: 24cb528
Author: fmartelli <fabio.martelli@gmail.com>
Authored: Tue Dec 29 11:26:46 2015 +0100
Committer: fmartelli <fabio.martelli@gmail.com>
Committed: Thu Dec 31 08:55:33 2015 +0100

----------------------------------------------------------------------
 .../syncope/client/console/pages/Realms.java    | 97 ++++++--------------
 .../syncope/client/console/pages/Types.java     |  1 -
 .../syncope/client/console/panels/Realm.java    | 46 +++++++++-
 .../client/console/panels/RealmDetails.java     | 24 ++++-
 .../resources/META-INF/resources/css/bulk.css   |  2 +
 .../META-INF/resources/css/syncopeConsole.css   | 71 +++++++++++---
 .../syncope/client/console/pages/Realms.html    | 18 +---
 .../client/console/pages/SecurityQuestions.html | 14 +--
 .../panels/AbstractSearchResultPanel.html       | 14 +--
 .../console/panels/AbstractTypesPanel.html      | 12 +--
 .../client/console/panels/RealmDetails.html     | 11 ++-
 .../markup/html/form/ActionLinksPanel.html      | 64 ++++++-------
 .../client/console/wizards/WizardMgtPanel.html  |  4 +-
 13 files changed, 217 insertions(+), 161 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
b/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
index 53cd426..19c3e0a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
@@ -24,15 +24,11 @@ import org.apache.syncope.client.console.panels.RealmModalPanel;
 import org.apache.syncope.client.console.panels.RealmSidebarPanel;
 import org.apache.syncope.client.console.panels.RealmSidebarPanel.ControlSidebarClick;
 import org.apache.syncope.client.console.rest.RealmRestClient;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.confirmation.ConfirmationModalBehavior;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.common.lib.to.RealmTO;
 import org.apache.syncope.common.lib.types.StandardEntitlement;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.WindowClosedCallback;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -82,10 +78,6 @@ public class Realms extends BasePage {
             }
         });
 
-        setupDeleteLink();
-        setupCreateLink();
-        setupEditLink();
-
         updateRealmContent(realmSidebarPanel.getCurrentRealm());
     }
 
@@ -103,63 +95,22 @@ public class Realms extends BasePage {
 
     private WebMarkupContainer updateRealmContent(final RealmTO realmTO) {
         content.addOrReplace(new Label("header", realmTO.getName()));
-        content.addOrReplace(new Realm("body", realmTO, getPageReference()));
-        return content;
-    }
-
-    private void setupDeleteLink() {
+        content.addOrReplace(new Realm("body", realmTO, getPageReference()) {
 
-        @SuppressWarnings("unchecked")
-        final AjaxLink<Void> deleteLink = new AjaxLink("deleteLink", Model.of("deleteLink"))
{
-
-            private static final long serialVersionUID = 3776750333491622263L;
+            private static final long serialVersionUID = 8221398624379357183L;
 
             @Override
-            public void onClick(final AjaxRequestTarget target) {
-                try {
-                    final RealmTO toBeDeleted = realmSidebarPanel.getCurrentRealm();
-
-                    if (toBeDeleted.getKey() == 0) {
-                        throw new Exception("Root realm cannot be deleted");
-                    }
-
-                    realmRestClient.delete(toBeDeleted.getFullPath());
-
-                    target.add(realmSidebarPanel.reloadRealmTree());
-                    target.add(updateRealmContent(realmSidebarPanel.getCurrentRealm()));
-
-                    info(getString(Constants.OPERATION_SUCCEEDED));
-                } catch (Exception e) {
-                    LOG.error("While deleting realm", e);
-                    error(getString(Constants.ERROR) + ": " + e.getMessage());
-                }
-                notificationPanel.refresh(target);
-            }
-        };
-
-        deleteLink.add(new ConfirmationModalBehavior());
-        MetaDataRoleAuthorizationStrategy.authorize(deleteLink, ENABLE, StandardEntitlement.REALM_DELETE);
-
-        content.addOrReplace(deleteLink);
-    }
-
-    private void setupCreateLink() {
-
-        final AjaxLink<Void> createLink = new IndicatingAjaxLink<Void>("createLink")
{
-
-            private static final long serialVersionUID = -7978723352517770644L;
-
-            @Override
-            public void onClick(final AjaxRequestTarget target) {
+            protected void onClickCreate(final AjaxRequestTarget target) {
                 modal.header(new ResourceModel("createRealm"));
 
-                final RealmTO realmTO = new RealmTO();
-                modal.setFormModel(realmTO);
+                final RealmTO newRealmTO = new RealmTO();
+
+                modal.setFormModel(newRealmTO);
 
                 final RealmModalPanel panel = new RealmModalPanel(
                         modal,
                         Realms.this.getPageReference(),
-                        realmTO,
+                        newRealmTO,
                         realmSidebarPanel.getCurrentRealm().getFullPath(),
                         StandardEntitlement.REALM_CREATE,
                         true);
@@ -168,22 +119,11 @@ public class Realms extends BasePage {
                 modal.addSumbitButton();
                 modal.show(true);
             }
-        };
-
-        MetaDataRoleAuthorizationStrategy.authorize(createLink, ENABLE, StandardEntitlement.REALM_CREATE);
-        content.addOrReplace(createLink);
-    }
-
-    private void setupEditLink() {
-        final AjaxLink<Void> editLink = new IndicatingAjaxLink<Void>("editLink")
{
-
-            private static final long serialVersionUID = -6957616042924610290L;
 
             @Override
-            public void onClick(final AjaxRequestTarget target) {
+            protected void onClickEdit(final AjaxRequestTarget target, final RealmTO realmTO)
{
                 modal.header(Model.of(realmSidebarPanel.getCurrentRealm().getName()));
 
-                final RealmTO realmTO = realmSidebarPanel.getCurrentRealm();
                 modal.setFormModel(realmTO);
 
                 final RealmModalPanel panel = new RealmModalPanel(
@@ -198,9 +138,24 @@ public class Realms extends BasePage {
                 modal.addSumbitButton();
                 modal.show(true);
             }
-        };
 
-        MetaDataRoleAuthorizationStrategy.authorize(editLink, ENABLE, StandardEntitlement.REALM_UPDATE);
-        content.addOrReplace(editLink);
+            @Override
+            protected void onClickDelete(final AjaxRequestTarget target, final RealmTO realmTO)
{
+                try {
+                    if (realmTO.getKey() == 0) {
+                        throw new Exception("Root realm cannot be deleted");
+                    }
+                    realmRestClient.delete(realmTO.getFullPath());
+                    target.add(realmSidebarPanel.reloadRealmTree());
+                    target.add(updateRealmContent(realmSidebarPanel.getCurrentRealm()));
+                    info(getString(Constants.OPERATION_SUCCEEDED));
+                } catch (Exception e) {
+                    LOG.error("While deleting realm", e);
+                    error(getString(Constants.ERROR) + ": " + e.getMessage());
+                }
+                BasePage.class.cast(getPage()).getNotificationPanel().refresh(target);
+            }
+        });
+        return content;
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/java/org/apache/syncope/client/console/pages/Types.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Types.java
b/client/console/src/main/java/org/apache/syncope/client/console/pages/Types.java
index 0cad78a..f1d2bbb 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Types.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Types.java
@@ -72,7 +72,6 @@ public class Types extends BasePage {
         ANYTYPECLASS,
         ANYTYPE,
         RELATIONSHIPTYPE;
-
     }
 
     public Types(final PageParameters parameters) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index ae59885..48bd345 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -27,6 +27,8 @@ import org.apache.syncope.client.console.rest.AnyTypeRestClient;
 import org.apache.syncope.client.console.rest.GroupRestClient;
 import org.apache.syncope.client.console.rest.UserRestClient;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
 import org.apache.syncope.client.console.wizards.any.AnyWizardBuilder;
 import org.apache.syncope.client.console.wizards.any.GroupWizardBuilder;
 import org.apache.syncope.client.console.wizards.any.UserWizardBuilder;
@@ -38,6 +40,7 @@ import org.apache.syncope.common.lib.to.UserTO;
 import org.apache.syncope.common.lib.types.AnyEntitlement;
 import org.apache.syncope.common.lib.types.StandardEntitlement;
 import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
 import org.apache.wicket.extensions.markup.html.tabs.ITab;
@@ -47,7 +50,7 @@ import org.apache.wicket.model.Model;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class Realm extends Panel {
+public abstract class Realm extends Panel {
 
     private static final long serialVersionUID = -1100228004207271270L;
 
@@ -91,8 +94,39 @@ public class Realm extends Panel {
 
             @Override
             public Panel getPanel(final String panelId) {
-                final RealmDetails panel = new RealmDetails(panelId, realmTO, false);
-                panel.setEnabled(false);
+                final ActionLinksPanel<RealmTO> actionLinksPanel = ActionLinksPanel.<RealmTO>builder(pageRef).
+                        add(new ActionLink<RealmTO>(realmTO) {
+
+                            private static final long serialVersionUID = 2802988981431379827L;
+
+                            @Override
+                            public void onClick(final AjaxRequestTarget target, final RealmTO
modelObject) {
+                                onClickCreate(target);
+                            }
+                        }, ActionLink.ActionType.CREATE, StandardEntitlement.REALM_CREATE).
+                        add(new ActionLink<RealmTO>(realmTO) {
+
+                            private static final long serialVersionUID = 2802988981431379828L;
+
+                            @Override
+                            public void onClick(final AjaxRequestTarget target, final RealmTO
modelObject) {
+                                onClickEdit(target, realmTO);
+                            }
+                        }, ActionLink.ActionType.EDIT, StandardEntitlement.REALM_UPDATE).
+                        add(new ActionLink<RealmTO>(realmTO) {
+
+                            private static final long serialVersionUID = 2802988981431379829L;
+
+                            @Override
+                            public void onClick(final AjaxRequestTarget target, final RealmTO
modelObject) {
+                                onClickDelete(target, realmTO);
+                            }
+                        }, ActionLink.ActionType.DELETE, StandardEntitlement.REALM_DELETE).
+                        build("actions");
+
+                final RealmDetails panel = new RealmDetails(panelId, realmTO, actionLinksPanel,
false);
+                panel.setContentEnabled(false);
+                actionLinksPanel.setEnabled(true);
                 return panel;
             }
         });
@@ -165,4 +199,10 @@ public class Realm extends Panel {
         }
         return panel;
     }
+
+    protected abstract void onClickCreate(final AjaxRequestTarget target);
+
+    protected abstract void onClickEdit(final AjaxRequestTarget target, final RealmTO realmTO);
+
+    protected abstract void onClickDelete(final AjaxRequestTarget target, final RealmTO realmTO);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
index 2bc232b..c27b6cb 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RealmDetails.java
@@ -18,10 +18,12 @@
  */
 package org.apache.syncope.client.console.panels;
 
+import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
 import org.apache.syncope.common.lib.to.RealmTO;
 import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.PropertyModel;
 import org.slf4j.Logger;
@@ -33,14 +35,17 @@ public class RealmDetails extends Panel {
 
     protected static final Logger LOG = LoggerFactory.getLogger(RealmDetails.class);
 
+    private final WebMarkupContainer container;
+
     public RealmDetails(final String id, final RealmTO realmTO) {
-        this(id, realmTO, true);
+        this(id, realmTO, null, true);
     }
 
-    public RealmDetails(final String id, final RealmTO realmTO, final boolean unwraped) {
+    public RealmDetails(
+            final String id, final RealmTO realmTO, final ActionLinksPanel<?> actions,
final boolean unwraped) {
         super(id);
 
-        final WebMarkupContainer container = new WebMarkupContainer("container");
+        container = new WebMarkupContainer("container");
         container.setOutputMarkupId(true);
         container.setRenderBodyOnly(unwraped);
         add(container);
@@ -62,5 +67,18 @@ public class RealmDetails extends Panel {
         final FieldPanel<String> passwordPolicy = new AjaxTextFieldPanel(
                 "passwordPolicy", "passwordPolicy", new PropertyModel<String>(realmTO,
"passwordPolicy"), false);
         container.add(passwordPolicy);
+
+        if (actions == null) {
+            add(new Fragment("actions", "emptyFragment", this).setRenderBodyOnly(true));
+        } else {
+            Fragment fragment = new Fragment("actions", "actionsFragment", this);
+            fragment.add(actions);
+            add(fragment.setRenderBodyOnly(true));
+        }
+    }
+
+    public RealmDetails setContentEnabled(final boolean enable) {
+        container.setEnabled(enable);
+        return this;
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/META-INF/resources/css/bulk.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/bulk.css b/client/console/src/main/resources/META-INF/resources/css/bulk.css
index 1f0e621..db44653 100644
--- a/client/console/src/main/resources/META-INF/resources/css/bulk.css
+++ b/client/console/src/main/resources/META-INF/resources/css/bulk.css
@@ -18,6 +18,8 @@
  */
 th.checkGroupColumn{
   width: 20px;
+  text-align: center;
+  padding-right: 8px !important;
 }
 
 td.checkGroupColumn{

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
index a0391f0..20f0946 100644
--- a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
+++ b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
@@ -74,16 +74,6 @@ pre {
   min-height: 554px
 }
 
-.actions > li > a {
-  padding-top: 5px !important;
-  padding-bottom: 5px !important;
-}
-
-div.listview-actions a{
-  float:left; 
-  padding-right:8px
-}
-
 .block-header {
   position: fixed !important;
   width: 100% !important;
@@ -352,7 +342,6 @@ div.searchResult{
   box-sizing: border-box;
 }
 
-
 .wicket-aa-container {
   border-color: #eee;
   box-shadow: none;
@@ -369,6 +358,9 @@ div.searchResult{
   max-height: 250px;
 }
 
+/**
+START - Notifications
+*/
 .k-notification-error.k-group {
   background: rgba(100% , 0% , 0% , .7);
   color: red;
@@ -419,3 +411,60 @@ div.searchResult{
   width:85%
 }
 
+/**
+END - Notifications
+*/
+
+/**
+START - Actions
+*/
+.actions > li > a {
+  padding: 5px 0px 5px 0px !important;
+}
+
+div.listview-actions a {
+  float:left;
+  padding: 5px 0px 5px 0px !important;
+}
+
+.action a.btn {
+  padding: 0px;
+}
+
+.btn-circle, .circular-actions a {
+  border-radius: 15px;
+  font-size: 12px;
+  height: 30px;
+  line-height: 1.42857;
+  padding: 6px 0;
+  text-align: center;
+  width: 30px;
+}
+
+.circular-actions a.btn {
+  background-color: #3c8dbc;
+  border-color: #367fa9;
+  color: #fff;
+}
+
+.btn-circle i, .circular-actions a i {
+  margin: 0px;
+}
+/**
+END - Actions
+*/
+
+/**
+START - DataTable
+*/
+.dataTable {
+  clear: both;
+}
+
+.rowsChooser {
+  padding: 5px 0px 15px 0px;
+  text-align: right;
+}
+/**
+END - DataTable
+*/

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
index 47c136e..4d70dbc 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
@@ -18,6 +18,7 @@ specific language governing permissions and limitations
 under the License.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://xmlns.jcp.org/jsf/composite">
+  <head><title>Realms</title></head>
   <wicket:extend>
     <div class="wrapper">
       <div class="admin-content-page content-margin-layout" wicket:id="content">
@@ -27,23 +28,6 @@ under the License.
               <wicket:container wicket:id="header"></wicket:container>
             </h3>
             <div class="box-tools pull-right">
-              <ul class="nav navbar-nav actions">
-                <li>
-                  <a wicket:id="editLink">
-                    <i class="fa fa-pencil-square-o"></i>
-                  </a>                  
-                </li>
-                <li>
-                  <a wicket:id="createLink">
-                    <i class="fa fa-plus"></i>
-                  </a>                  
-                </li>
-                <li>
-                  <a wicket:id="deleteLink" data-bb="confirm">
-                    <i class="fa fa-minus"></i>
-                  </a>
-                </li>
-              </ul>
             </div><!-- /.box-tools -->
           </div><!-- /.box-header -->
           <div class="box-body">

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/org/apache/syncope/client/console/pages/SecurityQuestions.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/SecurityQuestions.html
b/client/console/src/main/resources/org/apache/syncope/client/console/pages/SecurityQuestions.html
index 8d35765..981a5c5 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/SecurityQuestions.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/SecurityQuestions.html
@@ -27,18 +27,18 @@ under the License.
               <span wicket:id="header"></span>
             </h3>
             <div class="box-tools pull-right">
-              <ul class="nav navbar-nav actions">
-                <li>
-                  <a wicket:message="title:createSecurityQuestion" wicket:id="createSecurityQuestion">
-                    <i class="glyphicon glyphicon-plus"></i>
-                  </a>                  
-                </li>
-              </ul>
             </div>
           </div>
           <div class="box-body">
             <div class="realms">
               <div wicket:id="securityQuestionPanel"></div>
+
+              <div class="modal-footer">
+                <a wicket:message="title:createSecurityQuestion" wicket:id="createSecurityQuestion"
class="btn btn-primary btn-circle btn-lg">
+                  <i class="glyphicon glyphicon-plus"></i>
+                </a>                  
+              </div>
+
             </div>
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
index 8a51c77..c7677df 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractSearchResultPanel.html
@@ -23,11 +23,13 @@ under the License.
   <body>
     <wicket:extend>
       <div wicket:id="searchContainer">
-        <span wicket:id="resultTable">[Table]</span>
-
-        <span style="float:right">
-          <form wicket:id="paginator" style="display:inline">
-            <div class="col-sm-6">
+        <div class="dataTable">
+          <span wicket:id="resultTable">[Table]</span>
+        </div>
+        
+        <div class="rowsChooser">
+          <form wicket:id="paginator">
+            <div>
               <div class="dataTables_length">
                 <label>
                   <wicket:message key="displayRows"/>
@@ -36,7 +38,7 @@ under the License.
               </div>
             </div>
           </form>
-        </span>
+        </div>
       </div>
     </wicket:extend>
   </body>

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractTypesPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractTypesPanel.html
b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractTypesPanel.html
index 99f4b22..ff35ea3 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractTypesPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/AbstractTypesPanel.html
@@ -20,12 +20,12 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:panel>
     <div wicket:id="container">
-      <span wicket:id="tableContainer">
+      <div wicket:id="tableContainer" class="dataTable">
         <table class="table table-bordered table-hover dataTable" wicket:id="datatable">[datatable]</table>
-      </span>
-      <span style="float:right">
-        <form wicket:id="paginator" style="display:inline">
-          <div class="col-sm-6">
+      </div>
+      <div class="rowsChooser">
+        <form wicket:id="paginator">
+          <div>
             <div class="dataTables_length">
               <label>
                 <wicket:message key="displayRows"/>
@@ -34,7 +34,7 @@ under the License.
             </div>
           </div>
         </form>
-      </span>
+      </div>
     </div>
   </wicket:panel>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
b/client/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
index d894546..57955dd 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
@@ -17,10 +17,8 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://xmlns.jcp.org/jsf/composite">
+  <head><title></title></head>
   <body>
     <wicket:panel>
       <div wicket:id="container" class="summarize">
@@ -29,6 +27,13 @@ under the License.
         <span wicket:id="accountPolicy">[accountPolicy]</span>
         <span wicket:id="passwordPolicy">[passwordPolicy]</span>
       </div>
+
+      <span wicket:id="actions"></span>
+
+      <wicket:fragment wicket:id="emptyFragment"></wicket:fragment>
+      <wicket:fragment wicket:id="actionsFragment">
+        <div wicket:id="actions" class="modal-footer circular-actions"/>
+      </wicket:fragment>
     </wicket:panel>
   </body>
 </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
index 772222e..c2b32de 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksPanel.html
@@ -60,131 +60,131 @@ under the License.
     <span wicket:id="panelZoomOut">[plus]</span>
 
     <wicket:fragment wicket:id="fragmentClaim">
-      <a href="#" wicket:id="claimLink"><img id="actionLink" src="img/actions/claim.png"
alt="claim icon" title="Claim"/></a>
+      <a href="#" wicket:id="claimLink" class="btn"><img id="actionLink" src="img/actions/claim.png"
alt="claim icon" title="Claim"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentManageResources">
-      <a href="#" wicket:id="manageResourcesLink"><i id="actionLink" class="fa fa-sitemap"
alt="manage resources icon" title="Manage resources"></i></a>
+      <a href="#" wicket:id="manageResourcesLink" class="btn"><i id="actionLink"
class="fa fa-sitemap" alt="manage resources icon" title="Manage resources"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentManageUsers">
-      <a href="#" wicket:id="manageUsersLink"><img id="actionLink" src="img/actions/users-icon.png"
alt="manage users icon" title="Manage users"/></a>
+      <a href="#" wicket:id="manageUsersLink" class="btn"><img id="actionLink" src="img/actions/users-icon.png"
alt="manage users icon" title="Manage users"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentManageGroups">
-      <a href="#" wicket:id="manageGroupsLink"><img id="actionLink" src="img/actions/groups-icon.png"
alt="manage groups icon" title="Manage groups"/></a>
+      <a href="#" wicket:id="manageGroupsLink" class="btn"><img id="actionLink"
src="img/actions/groups-icon.png" alt="manage groups icon" title="Manage groups"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentMapping">
-      <a href="#" wicket:id="mappingLink" title="Mapping"><i class="fa fa-exchange"></i></a>
+      <a href="#" wicket:id="mappingLink" class="btn"><i class="fa fa-exchange"
alt="mapping icon" title="Mapping"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentAccountLink">
-      <a href="#" wicket:id="accountLinkLink" title="Account Link"><i class="fa
fa-external-link"></i></a>
+      <a href="#" wicket:id="accountLinkLink" class="btn"><i class="fa fa-external-link"
alt="account link icon" title="Account Link"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentResetTime">
-      <a href="#" wicket:id="resetTimeLink" title="Reset Time"><i class="fa fa-hourglass-start"></i></a>
+      <a href="#" wicket:id="resetTimeLink" class="btn"><i class="fa fa-hourglass-start"
alt="reset time icon" title="Reset Time"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentClone">
-      <a href="#" wicket:id="cloneLink" title="Clone"><i class="fa fa-clone"></i></a>
+      <a href="#" wicket:id="cloneLink" class="btn"><i class="fa fa-clone" alt="clone
icon" title="Clone"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentCreate">
-      <a href="#" wicket:id="createLink" title="Create"><i class="fa fa-create"></i></a>
+      <a href="#" wicket:id="createLink" class="btn"><i class="glyphicon glyphicon-plus"
alt="create icon" title="Create"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentSearch">
-      <a href="#" wicket:id="searchLink"><i class="glyphicon glyphicon-search" alt="search
icon" title="Search"></i></a>
+      <a href="#" wicket:id="searchLink" class="btn"><i class="glyphicon glyphicon-search"
alt="search icon" title="Search"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentEnable">
-      <a href="#" wicket:id="enableLink"><i id="actionLink" class="fa fa-toggle-on"
alt="enable icon" title="Enable / Disable"></i></a>
+      <a href="#" wicket:id="enableLink" class="btn"><i id="actionLink" class="fa
fa-toggle-on" alt="enable icon" title="Enable / Disable"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentEdit">
-      <a href="#" wicket:id="editLink"><i id="actionLink" class="fa fa-pencil" alt="edit
icon" title="Edit"></i></a>
+      <a href="#" wicket:id="editLink" class="btn"><i id="actionLink" class="glyphicon
glyphicon-pencil" alt="edit icon" title="Edit"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentReset">
-      <a href="#" wicket:id="resetLink"><img id="actionLink" src="img/actions/reset.png"
alt="reset icon" title="Reset sync token"/></a>
+      <a href="#" wicket:id="resetLink" class="btn"><img id="actionLink" src="img/actions/reset.png"
alt="reset icon" title="Reset sync token"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentUserTemplate">
-      <a href="#" wicket:id="userTemplateLink"><img id="actionLink" src="img/actions/user_template.png"
alt="user template icon" title="Specify user template"/></a>
+      <a href="#" wicket:id="userTemplateLink" class="btn"><img id="actionLink"
src="img/actions/user_template.png" alt="user template icon" title="Specify user template"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentGroupTemplate">
-      <a href="#" wicket:id="groupTemplateLink"><img id="actionLink" src="img/actions/groups-icon.png"
alt="group template icon"  title="Specify group template"/></a>
+      <a href="#" wicket:id="groupTemplateLink" class="btn"><img id="actionLink"
src="img/actions/groups-icon.png" alt="group template icon"  title="Specify group template"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentDelete">
-      <a href="#" wicket:id="deleteLink" title="Delete"><i class="fa fa-minus"></i></a>
+      <a href="#" wicket:id="deleteLink" class="btn"><i class="glyphicon glyphicon-minus"
alt="delete icon" title="Delete"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentDryRun">
-      <a href="#" wicket:id="dryRunLink"><img id="actionLink" src="img/actions/dryrun.png"
alt="dryrun icon" title="DryRun"/></a>
+      <a href="#" wicket:id="dryRunLink" class="btn"><img id="actionLink" src="img/actions/dryrun.png"
alt="dryrun icon" title="DryRun"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentExecute">
-      <a href="#" wicket:id="executeLink"><img id="actionLink" src="img/actions/execute.png"
alt="execute icon" title="Execute"/></a>
+      <a href="#" wicket:id="executeLink" class="btn"><img id="actionLink" src="img/actions/execute.png"
alt="execute icon" title="Execute"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentSelect">
-      <a href="#" wicket:id="selectLink"><i class="glyphicon glyphicon-ok"></i></a>
+      <a href="#" wicket:id="selectLink" class="btn"><i class="glyphicon glyphicon-ok"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentExport">
-      <a href="#" wicket:id="exportLink"><img id="actionLink" src="img/actions/export.png"
alt="export icon" title="Export"/></a>
+      <a href="#" wicket:id="exportLink" class="btn"><img id="actionLink" src="img/actions/export.png"
alt="export icon" title="Export"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentSuspend">
-      <a href="#" wicket:id="suspendLink"><img id="actionLink" src="img/actions/suspend.png"
alt="suspend icon" title="Suspend"/></a>
+      <a href="#" wicket:id="suspendLink" class="btn"><img id="actionLink" src="img/actions/suspend.png"
alt="suspend icon" title="Suspend"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentReactivate">
-      <a href="#" wicket:id="reactivateLink"><img id="actionLink" src="img/actions/reactivate.png"
alt="reactivate icon" title="Reactivate"/></a>
+      <a href="#" wicket:id="reactivateLink" class="btn"><img id="actionLink" src="img/actions/reactivate.png"
alt="reactivate icon" title="Reactivate"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentReload">
-      <a href="#" wicket:id="reloadLink"><i id="actionLink" class="fa fa-repeat"
alt="reload icon" title="Reload"></i></a>
+      <a href="#" wicket:id="reloadLink" class="btn"><i id="actionLink" class="fa
fa-repeat" alt="reload icon" title="Reload"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentChangeView">
-      <a href="#" wicket:id="changeViewLink"><i id="actionLink" class="fa fa-list"
alt="Change view icon" title="Change view"></i></a>
+      <a href="#" wicket:id="changeViewLink" class="btn"><i id="actionLink" class="fa
fa-list" alt="Change view icon" title="Change view"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentUnlink">
-      <a href="#" wicket:id="unlinkLink"><img id="actionLink" src="img/actions/unlink-icon.png"
alt="Unlink icon"  title="Unlink"/></a>
+      <a href="#" wicket:id="unlinkLink" class="btn"><img id="actionLink" src="img/actions/unlink-icon.png"
alt="Unlink icon"  title="Unlink"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentLink">
-      <a href="#" wicket:id="linkLink"><img id="actionLink" src="img/actions/link-icon.png"
alt="Link icon"  title="Link"/></a>
+      <a href="#" wicket:id="linkLink" class="btn"><img id="actionLink" src="img/actions/link-icon.png"
alt="Link icon"  title="Link"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentUnassign">
-      <a href="#" wicket:id="unassignLink"><img id="actionLink" src="img/actions/unassign-icon.png"
alt="Unassign icon"  title="Unassign"/></a>
+      <a href="#" wicket:id="unassignLink" class="btn"><img id="actionLink" src="img/actions/unassign-icon.png"
alt="Unassign icon"  title="Unassign"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentAssign">
-      <a href="#" wicket:id="assignLink"><img id="actionLink" src="img/actions/assign-icon.png"
alt="Assign icon"  title="Assign"/></a>
+      <a href="#" wicket:id="assignLink" class="btn"><img id="actionLink" src="img/actions/assign-icon.png"
alt="Assign icon"  title="Assign"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentDeprovision">
-      <a href="#" wicket:id="deprovisionLink"><img id="actionLink" src="img/actions/deprovision-icon.png"
alt="De-provision icon"  title="De-provision"/></a>
+      <a href="#" wicket:id="deprovisionLink" class="btn"><img id="actionLink" src="img/actions/deprovision-icon.png"
alt="De-provision icon"  title="De-provision"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentProvision">
-      <a href="#" wicket:id="provisionLink"><img id="actionLink" src="img/actions/provision-icon.png"
alt="Provision icon"  title="Provision"/></a>
+      <a href="#" wicket:id="provisionLink" class="btn"><img id="actionLink" src="img/actions/provision-icon.png"
alt="Provision icon"  title="Provision"/></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentZoomIn">
-      <a href="#" wicket:id="zoomInLink" title="Zoom In"><i class="fa fa-search-plus"></i></a>
+      <a href="#" wicket:id="zoomInLink" class="btn"><i class="fa fa-search-plus"
alt="zoom in icon" title="Zoom In"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="fragmentZoomOut">
-      <a href="#" wicket:id="zoomOutLink" title="Zoom Out"><i class="fa fa-search-minus"></i></a>
+      <a href="#" wicket:id="zoomOutLink" class="btn"><i class="fa fa-search-minus"
alt="zoom out icon" title="Zoom Out"></i></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="emptyFragment">

http://git-wip-us.apache.org/repos/asf/syncope/blob/e5990330/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
index 9bf9518..c4e0180 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/WizardMgtPanel.html
@@ -36,7 +36,9 @@ under the License.
 
         <wicket:enclosure child="add">
           <div class="modal-footer" style="text-align: right">
-            <a haref="#"  class="btn btn-primary" wicket:id="add">Add</a>
+            <a haref="#"  class="btn btn-primary btn-circle btn-lg" wicket:id="add">
+              <i class="glyphicon glyphicon-plus"></i>
+            </a>
           </div>
         </wicket:enclosure>
       </wicket:fragment>


Mime
View raw message