You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2015/10/30 12:42:16 UTC

[09/28] syncope git commit: [SYNCOPE-156] improve L&F mappings + fix connector creation. Still working on deletion of newly creted topology item

[SYNCOPE-156] improve L&F mappings + fix connector creation. Still working on deletion of newly creted topology item


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

Branch: refs/heads/master
Commit: af8f263bf4e8e8eabdc889c96d269b4184fd7813
Parents: ddd7ce3
Author: fmartelli <fa...@gmail.com>
Authored: Tue Sep 29 18:47:25 2015 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Tue Sep 29 18:47:25 2015 +0200

----------------------------------------------------------------------
 .../client/console/panels/ConnectorModal.java   |   5 +-
 .../console/panels/ResourceMappingPanel.java    |  57 ++++---
 .../client/console/topology/Topology.java       |   5 +-
 .../console/topology/TopologyNodePanel.java     |   3 +
 .../markup/html/bootstrap/dialog/BaseModal.java |   3 +
 .../wicket/markup/html/form/FieldPanel.java     |  10 +-
 .../META-INF/resources/css/fieldstyle.css       | 153 ++-----------------
 .../META-INF/resources/css/syncopeConsole.css   |   4 +
 .../resources/META-INF/resources/js/topology.js |   7 +-
 .../client/console/panels/ListViewPanel.html    |   3 +-
 .../console/panels/ResourceMappingPanel.html    |   9 +-
 .../client/console/topology/Topology.html       |   2 +-
 12 files changed, 82 insertions(+), 179 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
index 6989135..95f013f 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ConnectorModal.java
@@ -21,13 +21,13 @@ package org.apache.syncope.client.console.panels;
 import static org.apache.syncope.client.console.panels.AbstractModalPanel.LOG;
 
 import java.io.Serializable;
+import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.Predicate;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.pages.AbstractBasePage;
-import org.apache.syncope.client.console.topology.Topology;
 import org.apache.syncope.client.console.topology.TopologyNode;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.common.lib.to.ConnBundleTO;
@@ -156,8 +156,7 @@ public class ConnectorModal extends AbstractResourceModal {
                         connInstanceTO.getKey(),
                         connInstanceTO.getDisplayName(),
                         TopologyNode.Kind.CONNECTOR,
-                        connInstanceTO.getLocation().startsWith(Topology.CONNECTOR_SERVER_LOCATION_PREFIX)
-                                ? connInstanceTO.getLocation() : Topology.ROOT_NAME,
+                        URI.create(connInstanceTO.getLocation()).toASCIIString(),
                         target));
             } else {
                 connectorRestClient.update(connInstanceTO);

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
index 46cc21f..7a7295a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ResourceMappingPanel.java
@@ -72,17 +72,17 @@ public class ResourceMappingPanel extends Panel {
     /**
      * Mapping field style sheet.
      */
-    private static final String FIELD_STYLE = "ui-widget-content ui-corner-all short_fixedsize";
+    private static final String FIELD_STYLE = "short_fixedsize";
 
     /**
      * Mapping field style sheet.
      */
-    private static final String DEF_FIELD_STYLE = "ui-widget-content ui-corner-all";
+    private static final String DEF_FIELD_STYLE = "";
 
     /**
      * Mapping field style sheet.
      */
-    private static final String SHORT_FIELD_STYLE = "ui-widget-content ui-corner-all veryshort_fixedsize";
+    private static final String SHORT_FIELD_STYLE = "veryshort_fixedsize";
 
     /**
      * Schema rest client.
@@ -268,12 +268,15 @@ public class ResourceMappingPanel extends Panel {
                     }
                 });
 
-                final AjaxDropDownChoicePanel<String> intAttrNames = new AjaxDropDownChoicePanel<>("intAttrNames",
+                final AjaxDropDownChoicePanel<String> intAttrNames = new AjaxDropDownChoicePanel<>(
+                        "intAttrNames",
                         getString("intAttrNames"),
-                        new PropertyModel<String>(mapItem, "intAttrName"), false);
+                        new PropertyModel<String>(mapItem, "intAttrName"),
+                        false);
                 intAttrNames.setChoices(schemaNames);
-                intAttrNames.setRequired(true);
-                intAttrNames.setStyleSheet(FIELD_STYLE);
+                intAttrNames.setRequired(true).hideLabel();
+                intAttrNames.setStyleSheet(false, FIELD_STYLE);
+
                 intAttrNames.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
                     private static final long serialVersionUID = -1107858522700306810L;
@@ -289,20 +292,23 @@ public class ResourceMappingPanel extends Panel {
                         "intMappingTypes",
                         new ResourceModel("intMappingTypes", "intMappingTypes").getObject(),
                         new PropertyModel<IntMappingType>(mapItem, "intMappingType"));
-                intMappingTypes.setRequired(true);
+                intMappingTypes.setRequired(true).hideLabel();
                 intMappingTypes.setChoices(attrTypes);
-                intMappingTypes.setStyleSheet(FIELD_STYLE);
+                intMappingTypes.setStyleSheet(false, FIELD_STYLE);
                 item.add(intMappingTypes);
 
-                final AjaxDropDownChoicePanel<AnyTypeKind> entitiesPanel = new AjaxDropDownChoicePanel<>("entities",
+                final AjaxDropDownChoicePanel<AnyTypeKind> entitiesPanel = new AjaxDropDownChoicePanel<>(
+                        "entities",
                         new ResourceModel("entities", "entities").getObject(),
                         new Model<>(entity));
 
+                entitiesPanel.hideLabel();
                 entitiesPanel.setChoices(provisionTO.getAnyType().equals(AnyTypeKind.GROUP.name())
                         ? Collections.<AnyTypeKind>singletonList(AnyTypeKind.GROUP)
                         : Arrays.asList(AnyTypeKind.values()));
 
-                entitiesPanel.setStyleSheet(DEF_FIELD_STYLE);
+                entitiesPanel.setStyleSheet(false, DEF_FIELD_STYLE);
+
                 entitiesPanel.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
                     private static final long serialVersionUID = -1107858522700306810L;
@@ -321,7 +327,8 @@ public class ResourceMappingPanel extends Panel {
                 });
                 item.add(entitiesPanel);
 
-                final FieldPanel<String> extAttrNames = new AjaxTextFieldPanel("extAttrName",
+                final FieldPanel<String> extAttrNames = new AjaxTextFieldPanel(
+                        "extAttrName",
                         new ResourceModel("extAttrNames", "extAttrNames").getObject(),
                         new PropertyModel<String>(mapItem, "extAttrName"));
                 ((AjaxTextFieldPanel) extAttrNames).setChoices(schemaNames);
@@ -332,21 +339,26 @@ public class ResourceMappingPanel extends Panel {
                 } else {
                     required = true;
                 }
-                extAttrNames.setRequired(required);
+                extAttrNames.setRequired(required).hideLabel();
                 extAttrNames.setEnabled(required);
-                extAttrNames.setStyleSheet(FIELD_STYLE);
+                extAttrNames.setStyleSheet(false, FIELD_STYLE);
                 item.add(extAttrNames);
 
-                final AjaxTextFieldPanel mandatory = new AjaxTextFieldPanel("mandatoryCondition",
+                final AjaxTextFieldPanel mandatory = new AjaxTextFieldPanel(
+                        "mandatoryCondition",
                         new ResourceModel("mandatoryCondition", "mandatoryCondition").getObject(),
                         new PropertyModel<String>(mapItem, "mandatoryCondition"));
+                mandatory.hideLabel();
                 mandatory.setChoices(Arrays.asList(new String[] { "true", "false" }));
-                mandatory.setStyleSheet(SHORT_FIELD_STYLE);
+                mandatory.setStyleSheet(false, SHORT_FIELD_STYLE);
                 item.add(mandatory);
 
-                final AjaxCheckBoxPanel connObjectKey = new AjaxCheckBoxPanel("connObjectKey",
+                final AjaxCheckBoxPanel connObjectKey = new AjaxCheckBoxPanel(
+                        "connObjectKey",
                         new ResourceModel("connObjectKey", "connObjectKey").getObject(),
                         new PropertyModel<Boolean>(mapItem, "connObjectKey"));
+
+                connObjectKey.hideLabel();
                 connObjectKey.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
                     private static final long serialVersionUID = -1107858522700306810L;
@@ -365,9 +377,12 @@ public class ResourceMappingPanel extends Panel {
                 });
                 item.add(connObjectKey);
 
-                final AjaxCheckBoxPanel password = new AjaxCheckBoxPanel("password",
+                final AjaxCheckBoxPanel password = new AjaxCheckBoxPanel(
+                        "password",
                         new ResourceModel("password", "password").getObject(),
                         new PropertyModel<Boolean>(mapItem, "password"));
+
+                password.hideLabel();
                 password.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
                     private static final long serialVersionUID = -1107858522700306810L;
@@ -391,10 +406,10 @@ public class ResourceMappingPanel extends Panel {
                 final WebMarkupContainer purpose = new WebMarkupContainer("purpose");
                 purpose.setOutputMarkupId(Boolean.TRUE);
 
-                final MappingPurposePanel panel = new MappingPurposePanel("purposeActions",
-                        new PropertyModel<MappingPurpose>(mapItem, "purpose"), purpose);
+                final MappingPurposePanel panel = new MappingPurposePanel(
+                        "purposeActions", new PropertyModel<MappingPurpose>(mapItem, "purpose"), purpose);
 
-                purpose.add(panel);
+                purpose.add(panel.setRenderBodyOnly(true));
 
                 item.add(purpose);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
index 8b2fa75..7005143 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.client.console.topology;
 
+import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
 import java.io.Serializable;
 import java.net.URI;
 import java.util.ArrayList;
@@ -138,8 +139,8 @@ public class Topology extends BasePage {
     }
 
     public Topology() {
-        modal = new BaseModal<>("modal");
-        add(modal);
+        modal = new BaseModal<>("resource-modal");
+        add(modal.size(Modal.Size.Large));
 
         modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
index 8a68ca3..9545c31 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/topology/TopologyNodePanel.java
@@ -172,6 +172,7 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
                     error(getString(Constants.ERROR) + ": " + e.getMessage());
                     LOG.error("While deleting resource {}", node.getKey(), e);
                 }
+                ((BasePage) pageRef.getPage()).getFeedbackPanel().refresh(target);
             }
         };
         fragment.add(delete);
@@ -250,6 +251,8 @@ public class TopologyNodePanel extends Panel implements IAjaxIndicatorAware {
                     error(getString(Constants.ERROR) + ": " + e.getMessage());
                     LOG.error("While deleting resource {}", node.getKey(), e);
                 }
+
+                ((BasePage) pageRef.getPage()).getFeedbackPanel().refresh(target);
             }
         };
         fragment.add(delete);

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
index 124b096..2b3c49d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
@@ -193,6 +193,9 @@ public class BaseModal<T extends Serializable> extends Modal<T> {
     protected void onInitialize() {
         super.onInitialize();
 
+        final WebMarkupContainer dialog = (WebMarkupContainer) this.get("dialog");
+        dialog.setMarkupId(this.getId());
+
         final WebMarkupContainer footer = (WebMarkupContainer) this.get("dialog:footer");
         footer.addOrReplace(new ListView<Component>("inputs", components) {
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/FieldPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/FieldPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/FieldPanel.java
index 89970f8..fe31dc9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/FieldPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/FieldPanel.java
@@ -64,7 +64,15 @@ public abstract class FieldPanel<T extends Serializable> extends AbstractFieldPa
     }
 
     public FieldPanel<T> setStyleSheet(final String... classes) {
-        field.add(AttributeModifier.replace("class", StringUtils.join(classes, ' ')));
+        return setStyleSheet(true, classes);
+    }
+
+    public FieldPanel<T> setStyleSheet(final boolean replace, final String... classes) {
+        if (replace) {
+            field.add(AttributeModifier.replace("class", StringUtils.join(classes, ' ')));
+        } else {
+            field.add(AttributeModifier.append("class", StringUtils.join(classes, ' ')));
+        }
         return this;
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css b/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
index 23ef109..3ff5c29 100644
--- a/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
+++ b/client/console/src/main/resources/META-INF/resources/css/fieldstyle.css
@@ -17,175 +17,46 @@
  * under the License.
  */
 .drop_button{
-  vertical-align: middle;
+  vertical-align: middle !important;
 }
 
 .add_button{
-  vertical-align: middle;
-  margin-left: 6px;
+  vertical-align: middle !important;
+  margin-left: 6px !important;
 }
 
 .date_size{
-  width: 90px;
+  width: 90px !important;
 }
 
 .long_dynamicsize{
-  width: 80%;
+  width: 80% !important;
 }
 
 .medium_dynamicsize{
-  width: 45%;
+  width: 45% !important;
 }
 
 .short_dynamicsize{
-  width: 35%;
+  width: 35% !important;
 }
 
 .long_fixedsize{
-  width: 500px;
+  width: 500px !important;
 }
 
 .medium_fixedsize{
-  width: 300px;
+  width: 300px !important;
 }
 
 .short_fixedsize{
-  width: 150px;
+  width: 150px !important;
 }
 
 .veryshort_fixedsize{
-  width: 70px;
+  width: 70px !important;
 }
 
 .all_dynamicsize{
-  width: 100%;
-}
-
-div#formtable {
-  display: table;
-  width: 100%;
-}
-
-div#formtable > span:first-of-type {
-  display: table-row-group;
-  width: 100%;
-}
-
-div.tablerow {
-  display: inline-table;
-  padding: 5px;
-  width: 99%;
-}
-
-div.tablerow.connectorProp {
-  height:22px;
-  vertical-align: middle; 
-  font-size: 12px;
-}
-
-div.tablecolumn_connPropAttr {
-  display: table-cell;
-  vertical-align: middle; 
-}
-
-div.tablerow2 {
-  display: inline-table;
-  padding: 5px 0px 5px 0px;
-  width: 99%;
-}
-
-div.alt {
-  background: #eff3ea;
-}
-
-div.tablecolumn_label{
-  display: table-cell;
-  font-size: 12px;
-  vertical-align: middle;
-  font-family: Verdana,Tahoma,sans-serif;
-  width: 30%;
-}
-
-div.tablecolumn_field{
-  display: table-cell;
-  vertical-align: middle;
-  font-family: Verdana,Tahoma,sans-serif;
-  width: 70%;
-}
-
-div.tablecolumn_check{
-  display: table-cell;
-  margin-right: 5px;
-  margin-left: 2px;
-  vertical-align: middle;
-}
-
-div.tablecolumn2_label{
-  display: table-cell;
-  font-size: 12px;
-  vertical-align: middle;
-  font-family: Verdana,Tahoma,sans-serif;
-  padding-left: 5px;
-  width: 15%;
-}
-
-div.tablecolumn2_field{
-  display: table-cell;
-  vertical-align: middle;
-  font-family: Verdana,Tahoma,sans-serif;
-  width: 35%;
-}
-
-.ui-tabs .ui-tabs-panel {
-  background: none repeat scroll 0 0 #FFFFFF;
-  border-width: 0;
-  display: block;
-  overflow: auto;
-  padding: 1em 1.4em;
-}
-
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
-  font-family: Verdana,Arial,sans-serif;
-  font-size: 12px;
-  padding: 2px 4px;
-}
-
-.ui-widget-header { 
-  border: 1px solid #aaaaaa
-    /*{borderColorHeader}*/; 
-  background: #cccccc
-    /*{bgColorHeader}*/ 
-    url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)
-    /*{bgImgUrlHeader}*/ 
-    50%/*{bgHeaderXPos}*/ 
-    50%/*{bgHeaderYPos}*/ 
-    repeat-x/*{bgHeaderRepeat}*/; 
-  color: #222222/*{fcHeader}*/; 
-  font-weight: bold;
-  padding: 7px 15px;
-}
-
-.ui-button { 
-  display: inline-block; 
-  position: relative; 
-  margin-right: .1em; 
-  cursor: pointer; 
-  text-align: center; 
-  zoom: 1; 
-  overflow: visible; 
-  padding: 7px 15px;
-}
-
-.ui-spinner-button {
-  cursor: default;
-  display: block;
-  font-size: 0.5em;
-  height: 50%;
-  margin: 0;
-  overflow: hidden;
-  padding: 0;
-  position: absolute;
-  right: 0;
-  text-align: center;
-  width: 16px;
+  width: 100% !important;
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/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 dbf377c..ad0f032 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
@@ -218,3 +218,7 @@ span.overridable div.checkbox {
   margin: 0px; 
   padding: 0px;
 }
+
+div#resource-modal.modal-lg {
+  width: 1200px;
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/resources/META-INF/resources/js/topology.js
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/js/topology.js b/client/console/src/main/resources/META-INF/resources/js/topology.js
index 9327b01..53494d0 100644
--- a/client/console/src/main/resources/META-INF/resources/js/topology.js
+++ b/client/console/src/main/resources/META-INF/resources/js/topology.js
@@ -267,15 +267,14 @@ window.checkConnection = function() {
 }
 
 window.addEndpoint = function(source, target, scope) {
-    var sourceElement = $('#' + source);
-    
+    var sourceElement = $(document.getElementById(source));
+
     var top = parseFloat(sourceElement.css("top")) + 10;
     var left = parseFloat(sourceElement.css("left")) - 150;
 
     setPosition(target, left, top);
-
     jsPlumb.ready(function(){
-	jsPlumb.draggable(jsPlumb.getSelector("#" + target));
+	jsPlumb.draggable(jsPlumb.getSelector(document.getElementById(target)));
 	jsPlumb.connect({ source:source, target:target, scope:scope }, def);
     });
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
index ec4cc94..8cad9d0 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
@@ -39,6 +39,7 @@ under the License.
               <tbody>
                 <tr>
                   <th wicket:id="names"><span wicket:id="name"/></th>
+                  <th />
                 </tr>
                 <tr wicket:id="beans">
                   <td wicket:id="fields"><span wicket:id="field"/></td>
@@ -52,7 +53,7 @@ under the License.
           </div><!-- /.box-body -->
         </div><!-- /.box -->
       </div>
-      <div class="modal-footer">
+      <div class="modal-footer" style="text-align: right">
         <input type="submit" class="btn btn-primary" value="Add" wicket:message="value:listview.add" wicket:id="add"/>
       </div>
     </wicket:fragment>

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html
index 12ec5d2..ccedbb8 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/ResourceMappingPanel.html
@@ -73,18 +73,17 @@ under the License.
               <span wicket:id="password">[password]</span>
             </td>
             <td>
-              <span wicket:id="purpose">
+              <div wicket:id="purpose" style="margin: 10px 0px 10px 0px">
                 <span wicket:id="purposeActions">[purpose]</span>
-              </span>
+              </div>
             </td>
           </tr>
         </tbody>
 
         <tfoot>
           <tr>
-            <td colspan="7" style="padding: 5px">
-              <input type="submit" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
-                     wicket:id="addMappingBtn" />
+            <td colspan="9" style="padding: 5px; text-align: right">
+              <input type="submit" class="btn btn-primary" wicket:id="addMappingBtn" />
             </td>
           </tr>
         </tfoot>

http://git-wip-us.apache.org/repos/asf/syncope/blob/af8f263b/client/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html b/client/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html
index 4b6eff8..c9bd4f3 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html
@@ -69,6 +69,6 @@ under the License.
       </div>
       <span wicket:id="jsPlace"></span>
     </div>
-    <div wicket:id="modal">[modal]</div>
+    <div wicket:id="resource-modal">[modal]</div>
   </wicket:extend>
 </html>