Author: massi
Date: Thu Jan 31 17:21:31 2013
New Revision: 1441074

URL: http://svn.apache.org/viewvc?rev=1441074&view=rev
Log:
SYNCOPE-210 Jexl syntax help added

Added:
    
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/JexlHelpUtil.java
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.properties
      - copied, changed from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel_it.properties
      - copied, changed from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.properties
      - copied, changed from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel_it.properties
      - copied, changed from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
    syncope/trunk/console/src/main/webapp/img/help.png   (with props)
Modified:
    
syncope/trunk/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java
    
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java
    
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java
    
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.html
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.html
    
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html
    syncope/trunk/console/src/main/webapp/css/style.css

Modified: 
syncope/trunk/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java
 (original)
+++ 
syncope/trunk/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java
 Thu Jan 31 17:21:31 2013
@@ -21,6 +21,7 @@ package org.apache.syncope.console;
 import java.io.Serializable;
 import org.apache.syncope.console.commons.XMLRolesReader;
 import org.apache.syncope.console.pages.Configuration;
+import org.apache.syncope.console.pages.InfoModalPage;
 import org.apache.syncope.console.pages.Login;
 import org.apache.syncope.console.pages.Logout;
 import org.apache.syncope.console.pages.Reports;
@@ -30,7 +31,6 @@ import org.apache.syncope.console.pages.
 import org.apache.syncope.console.pages.Tasks;
 import org.apache.syncope.console.pages.Todo;
 import org.apache.syncope.console.pages.Users;
-import org.apache.syncope.console.pages.InfoModalPage;
 import org.apache.syncope.console.pages.WelcomePage;
 import org.apache.wicket.Component;
 import org.apache.wicket.Page;
@@ -43,10 +43,8 @@ import org.apache.wicket.authorization.U
 import 
org.apache.wicket.authroles.authorization.strategies.role.IRoleCheckingStrategy;
 import 
org.apache.wicket.authroles.authorization.strategies.role.RoleAuthorizationStrategy;
 import 
org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.image.Image;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
 import org.apache.wicket.protocol.http.WebApplication;
@@ -81,6 +79,7 @@ public class SyncopeApplication extends 
         
getSecuritySettings().setUnauthorizedComponentInstantiationListener(this);
 
         getMarkupSettings().setStripWicketTags(true);
+        getMarkupSettings().setCompressWhitespace(true);
 
         getRequestCycleListeners().add(new SyncopeRequestCycleListener());
     }

Added: 
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/JexlHelpUtil.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/JexlHelpUtil.java?rev=1441074&view=auto
==============================================================================
--- 
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/JexlHelpUtil.java
 (added)
+++ 
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/JexlHelpUtil.java
 Thu Jan 31 17:21:31 2013
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.console.commons;
+
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.link.ExternalLink;
+
+public class JexlHelpUtil {
+
+    private static final String JEXL_SYNTAX_URL = 
"http://commons.apache.org/jexl/reference/syntax.html";;
+
+    public static WebMarkupContainer getJexlHelpWebContainer() {
+        final WebMarkupContainer jexlHelp = new WebMarkupContainer("jexlHelp");
+        jexlHelp.setVisible(false);
+        jexlHelp.setOutputMarkupPlaceholderTag(true);
+        jexlHelp.setOutputMarkupId(true);
+        jexlHelp.add(new ExternalLink("jexlLink", JEXL_SYNTAX_URL));
+        return jexlHelp;
+    }
+
+    public static AjaxLink getAjaxLink(final WebMarkupContainer wmc) {
+        AjaxLink questionMarkJexlHelp = new AjaxLink("questionMarkJexlHelp") {
+
+            boolean toogle = false;
+
+            private static final long serialVersionUID = -7978723352517770644L;
+
+            @Override
+            public void onClick(AjaxRequestTarget target) {
+                toogle = !toogle;
+                wmc.setVisible(toogle);
+                target.add(wmc);
+            }
+        };
+        return questionMarkJexlHelp;
+    }
+}

Modified: 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java
 (original)
+++ 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java
 Thu Jan 31 17:21:31 2013
@@ -22,12 +22,15 @@ import org.apache.syncope.common.Abstrac
 import org.apache.syncope.common.to.DerivedSchemaTO;
 import org.apache.syncope.common.types.AttributableType;
 import 
org.apache.syncope.common.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.JexlHelpUtil;
 import org.apache.syncope.console.wicket.markup.html.form.AjaxTextFieldPanel;
 import org.apache.wicket.PageReference;
 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.extensions.ajax.markup.html.IndicatingAjaxButton;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.PropertyModel;
@@ -64,9 +67,18 @@ public class DerivedSchemaModalPage exte
                 new PropertyModel<String>(schema, "expression"));
         expression.addRequiredLabel();
 
+        final WebMarkupContainer jexlHelp = 
JexlHelpUtil.getJexlHelpWebContainer();
+        schemaForm.add(jexlHelp);
+
+
+        final AjaxLink questionMarkJexlHelp = 
JexlHelpUtil.getAjaxLink(jexlHelp);
+        schemaForm.add(questionMarkJexlHelp);
+
+
         name.setEnabled(createFlag);
 
         final IndicatingAjaxButton submit = new IndicatingAjaxButton("apply", 
new ResourceModel("submit")) {
+
             private static final long serialVersionUID = -958724007591692537L;
 
             @Override
@@ -99,6 +111,7 @@ public class DerivedSchemaModalPage exte
         };
 
         final IndicatingAjaxButton cancel = new IndicatingAjaxButton("cancel", 
new ResourceModel("cancel")) {
+
             private static final long serialVersionUID = -958724007591692537L;
 
             @Override
@@ -110,8 +123,9 @@ public class DerivedSchemaModalPage exte
             protected void onError(final AjaxRequestTarget target, final 
Form<?> form) {
             }
         };
-        
-        cancel.setDefaultFormProcessing(false);
+
+        cancel.setDefaultFormProcessing(
+                false);
 
         String allowedRoles;
 
@@ -124,9 +138,11 @@ public class DerivedSchemaModalPage exte
         MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE, 
allowedRoles);
 
         schemaForm.add(name);
+
         schemaForm.add(expression);
 
         schemaForm.add(submit);
+
         schemaForm.add(cancel);
 
         add(schemaForm);

Modified: 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java
 (original)
+++ 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AttributesPanel.java
 Thu Jan 31 17:21:31 2013
@@ -23,7 +23,6 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import org.apache.commons.lang.StringUtils;
 import org.apache.syncope.common.SyncopeConstants;
 import org.apache.syncope.common.to.AbstractAttributableTO;
@@ -33,6 +32,7 @@ import org.apache.syncope.common.to.Sche
 import org.apache.syncope.common.to.UserTO;
 import org.apache.syncope.common.types.AttributableType;
 import org.apache.syncope.common.types.SchemaType;
+import org.apache.syncope.console.commons.JexlHelpUtil;
 import org.apache.syncope.console.pages.Schema;
 import org.apache.syncope.console.rest.SchemaRestClient;
 import org.apache.syncope.console.wicket.markup.html.form.AjaxCheckBoxPanel;
@@ -42,6 +42,8 @@ import org.apache.syncope.console.wicket
 import org.apache.syncope.console.wicket.markup.html.form.DateTimeFieldPanel;
 import org.apache.syncope.console.wicket.markup.html.form.FieldPanel;
 import 
org.apache.syncope.console.wicket.markup.html.form.MultiValueSelectorPanel;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.IChoiceRenderer;
@@ -106,9 +108,17 @@ public class AttributesPanel extends Pan
                 final AttributeTO attributeTO = (AttributeTO) 
item.getDefaultModelObject();
 
                 final StringBuilder text = new 
StringBuilder(attributeTO.getSchema());
-                if (templateMode) {
-                    text.append(" (JEXL)");
+
+                final WebMarkupContainer jexlHelp = 
JexlHelpUtil.getJexlHelpWebContainer();
+                item.add(jexlHelp);
+
+                final AjaxLink questionMarkJexlHelp = 
JexlHelpUtil.getAjaxLink(jexlHelp);
+                item.add(questionMarkJexlHelp);
+
+                if (!templateMode) {
+                    questionMarkJexlHelp.setVisible(false);
                 }
+
                 item.add(new Label("name", text.toString()));
 
                 final FieldPanel panel =

Modified: 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
 (original)
+++ 
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
 Thu Jan 31 17:21:31 2013
@@ -24,7 +24,6 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-
 import org.apache.syncope.common.to.ConnInstanceTO;
 import org.apache.syncope.common.to.MappingItemTO;
 import org.apache.syncope.common.to.MappingTO;
@@ -32,6 +31,7 @@ import org.apache.syncope.common.to.Reso
 import org.apache.syncope.common.types.AttributableType;
 import org.apache.syncope.common.types.ConnConfProperty;
 import org.apache.syncope.common.types.IntMappingType;
+import org.apache.syncope.console.commons.JexlHelpUtil;
 import 
org.apache.syncope.console.pages.panels.ResourceConnConfPanel.ConnConfModEvent;
 import org.apache.syncope.console.rest.ConnectorRestClient;
 import org.apache.syncope.console.rest.SchemaRestClient;
@@ -45,6 +45,7 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.ajax.attributes.AjaxCallListener;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.event.IEvent;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
@@ -164,6 +165,7 @@ public class ResourceMappingPanel extend
      * @param attrType USER / ROLE
      */
     public ResourceMappingPanel(final String panelid, final ResourceTO 
resourceTO, final AttributableType attrType) {
+
         super(panelid);
         setOutputMarkupId(true);
 
@@ -218,6 +220,13 @@ public class ResourceMappingPanel extend
 
         mappingContainer = new WebMarkupContainer("mappingContainer");
         mappingContainer.setOutputMarkupId(true);
+
+        final WebMarkupContainer jexlHelp = 
JexlHelpUtil.getJexlHelpWebContainer();
+        mappingContainer.add(jexlHelp);
+
+        AjaxLink questionMarkJexlHelp = JexlHelpUtil.getAjaxLink(jexlHelp);
+        mappingContainer.add(questionMarkJexlHelp);
+
         add(mappingContainer);
 
         final Label passwordLabel = new Label("passwordLabel", new 
ResourceModel("password"));

Modified: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.html
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.html?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.html
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.html
 Thu Jan 31 17:21:31 2013
@@ -17,35 +17,46 @@ specific language governing permissions 
 under the License.
 -->
 <wicket:extend>
-    <p class="ui-widget ui-corner-all ui-widget-header"><wicket:message 
key="title"/></p>
+  <p class="ui-widget ui-corner-all ui-widget-header"><wicket:message 
key="title"/></p>
 <div style="margin:10px">
-    <form wicket:id="form">
-        <div id="formtable">
-            <div class="tablerow alt">
-                <div class="tablecolumn_label short_dynamicsize">
-                    <label for="name"><wicket:message key="name"/></label>
-                </div>
-                <div class="tablecolumn_field medium_dynamicsize">
-                    <span wicket:id="name">[name]</span>
-                </div>
-            </div>
-            <div class="tablerow">
-                <div class="tablecolumn_label short_dynamicsize">
-                    <label for="expression"><wicket:message 
key="expression"/></label>
-                </div>
-                <div class="tablecolumn_field medium_dynamicsize">
-                    <span wicket:id="expression">[expression]</span>
-                </div>
-            </div>
+  <form wicket:id="form">
+    <div id="formtable">
+      <div class="tablerow alt">
+        <div class="tablecolumn_label short_dynamicsize">
+          <label for="name"><wicket:message key="name"/></label>
+        </div>
+        <div class="tablecolumn_field medium_dynamicsize">
+          <span wicket:id="name">[name]</span>
         </div>
-        <div style="margin: 10px 0px 0">
-            <input type="submit"
-                   class="ui-button ui-widget ui-state-default ui-corner-all 
ui-button-text-only"
-                   wicket:id="apply"/>
-            <input type="button"
-                   class="ui-button ui-widget ui-state-default ui-corner-all 
ui-button-text-only"
-                   wicket:id="cancel"/>
+      </div>
+      <div class="tablerow">
+        <div class="tablecolumn_label short_dynamicsize">
+          <label for="expression"><wicket:message key="expression"/></label>
+        </div>
+        <div class="tablecolumn_field medium_dynamicsize">
+          <span wicket:id="expression">[expression]</span>
+          <div class="help">
+            <a wicket:id="questionMarkJexlHelp" href="#" alt="Click to help" 
title="Click to help"><img src="img/help.png"/></a>
+            <div wicket:id="jexlHelp" class="tooltip">
+              <wicket:message key="jexl_info"/>
+              <ul>
+                <li><wicket:message key="jexl_ex1"/></li>
+                <li><wicket:message key="jexl_ex2"/></li>
+              </ul>
+              <a href="#" wicket:id="jexlLink" target="_blank"><wicket:message 
key="jexl_syntax_url"/></a>
+            </div>
+          </div>
         </div>
-    </form>
+      </div>
+    </div>
+    <div style="margin: 10px 0px 0">
+      <input type="submit"
+             class="ui-button ui-widget ui-state-default ui-corner-all 
ui-button-text-only"
+             wicket:id="apply"/>
+      <input type="button"
+             class="ui-button ui-widget ui-state-default ui-corner-all 
ui-button-text-only"
+             wicket:id="cancel"/>
+    </div>
+  </form>
 </div>
 </wicket:extend>

Modified: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
 Thu Jan 31 17:21:31 2013
@@ -21,3 +21,7 @@ existing_schemas=Existing Schemas:
 edit_attribute=Edit attribute
 attributes=Derived attributes
 title=Derived Schema
+jexl_info=Field to JEXL expression, for example:
+jexl_ex1=surname + ',' + firstname
+jexl_ex2='new.' + surname
+jexl_syntax_url=Full JEXL reference
\ No newline at end of file

Modified: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
 Thu Jan 31 17:21:31 2013
@@ -21,3 +21,7 @@ existing_schemas=Schemi presenti:
 edit_attribute=Modifica attributo
 attributes=Attributi derivati
 title=Schema Derivato
+jexl_info=In questo campo possono essere inserite espressioni di tipo Jexl, 
per esempio:
+jexl_ex1=surname + ',' + firstname
+jexl_ex2='new.' + surname
+jexl_syntax_url=Sintassi JEXL completa
\ No newline at end of file

Modified: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.html
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.html?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.html
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.html
 Thu Jan 31 17:21:31 2013
@@ -18,15 +18,26 @@ under the License.
 -->
 <html>
   <wicket:panel>
-      <div class="tablerow" wicket:id="schemas">
-        <div class="tablecolumn_label short_dynamicsize">
-          <span wicket:id="name"/>
-        </div>
-        <div class="tablecolumn_field medium_dynamicsize">
-          <span wicket:id="panel">
-            [panel for dynamic input type markup]
-          </span>
+    <div class="tablerow" wicket:id="schemas">
+      <div class="tablecolumn_label short_dynamicsize">
+        <span wicket:id="name"/>
+        <div class="help">
+          <a wicket:id="questionMarkJexlHelp" href="#" alt="Click to help" 
title="Click to help"><img src="img/help.png"/></a>
+          <div wicket:id="jexlHelp" class="tooltip">
+            <wicket:message key="jexl_info"/>
+            <ul>
+              <li><wicket:message key="jexl_ex1"/></li>
+              <li><wicket:message key="jexl_ex2"/></li>
+            </ul>
+            <a href="#" wicket:id="jexlLink" target="_blank"><wicket:message 
key="jexl_syntax_url"/></a>
+          </div>
         </div>
       </div>
+      <div class="tablecolumn_field medium_dynamicsize">
+        <span wicket:id="panel">
+          [panel for dynamic input type markup]
+        </span>
+      </div>
+    </div>
   </wicket:panel>
 </html>

Copied: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.properties
 (from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties)
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.properties?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.properties&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties&r1=1440876&r2=1441074&rev=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel.properties
 Thu Jan 31 17:21:31 2013
@@ -14,10 +14,7 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-create_attribute=Create new attribute
-required_alert=All form fields are required.
-expression=Expression
-existing_schemas=Existing Schemas:
-edit_attribute=Edit attribute
-attributes=Derived attributes
-title=Derived Schema
+jexl_info=Field to JEXL expression, for example:
+jexl_ex1=surname + ',' + firstname
+jexl_ex2='new.' + surname
+jexl_syntax_url=Full JEXL reference
\ No newline at end of file

Copied: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel_it.properties
 (from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties)
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel_it.properties?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel_it.properties&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties&r1=1440876&r2=1441074&rev=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/AttributesPanel_it.properties
 Thu Jan 31 17:21:31 2013
@@ -14,10 +14,7 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-create_attribute=Crea nuovo attributo
-required_alert=Tutti i campi sono richiesti.
-expression=Expression
-existing_schemas=Schemi presenti:
-edit_attribute=Modifica attributo
-attributes=Attributi derivati
-title=Schema Derivato
+jexl_info=In questo campo possono essere inserite espressioni di tipo Jexl, 
per esempio:
+jexl_ex1=surname + ',' + firstname
+jexl_ex2='new.' + surname
+jexl_syntax_url=Sintassi JEXL completa
\ No newline at end of file

Modified: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html
 Thu Jan 31 17:21:31 2013
@@ -30,7 +30,18 @@ under the License.
       <th><wicket:message key="intMappingTypes"/></th>
       <th><wicket:message key="intAttrNames"/></th>
       <th><wicket:message key="extAttrNames"/></th>
-      <th><wicket:message key="mandatoryCondition"/></th>
+      <th><wicket:message key="mandatoryCondition"/>
+      <a wicket:id="questionMarkJexlHelp" href="#" alt="Click to help" 
title="Click to help">?</a>
+      <div wicket:id="jexlHelp" class="help tooltip"
+           style="position: fixed; left: 580px; top: 115px; text-align: 
center; opacity: 0.9;">
+        <wicket:message key="jexl_info"/>
+        <ul>
+          <li><wicket:message key="jexl_ex1"/></li>
+          <li><wicket:message key="jexl_ex2"/></li>
+        </ul>
+        <a href="#" wicket:id="jexlLink" target="_blank"><wicket:message 
key="jexl_syntax_url"/></a>
+      </div>
+      </th>
       <th><wicket:message key="accountId"/></th>
       <th><label wicket:id="passwordLabel"/></th>
       </tr>

Copied: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.properties
 (from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties)
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.properties?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.properties&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties&r1=1440876&r2=1441074&rev=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage.properties
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.properties
 Thu Jan 31 17:21:31 2013
@@ -14,10 +14,7 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-create_attribute=Create new attribute
-required_alert=All form fields are required.
-expression=Expression
-existing_schemas=Existing Schemas:
-edit_attribute=Edit attribute
-attributes=Derived attributes
-title=Derived Schema
+jexl_info=Field to JEXL expression, for example:
+jexl_ex1=surname + ',' + firstname
+jexl_ex2='new.' + surname
+jexl_syntax_url=Full JEXL reference
\ No newline at end of file

Copied: 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel_it.properties
 (from r1440876, 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties)
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel_it.properties?p2=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel_it.properties&p1=syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties&r1=1440876&r2=1441074&rev=1441074&view=diff
==============================================================================
--- 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/DerivedSchemaModalPage_it.properties
 (original)
+++ 
syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel_it.properties
 Thu Jan 31 17:21:31 2013
@@ -14,10 +14,7 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-create_attribute=Crea nuovo attributo
-required_alert=Tutti i campi sono richiesti.
-expression=Expression
-existing_schemas=Schemi presenti:
-edit_attribute=Modifica attributo
-attributes=Attributi derivati
-title=Schema Derivato
+jexl_info=In questo campo possono essere inserite espressioni di tipo Jexl, 
per esempio:
+jexl_ex1=surname + ',' + firstname
+jexl_ex2='new.' + surname
+jexl_syntax_url=Sintassi JEXL completa
\ No newline at end of file

Modified: syncope/trunk/console/src/main/webapp/css/style.css
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/webapp/css/style.css?rev=1441074&r1=1441073&r2=1441074&view=diff
==============================================================================
--- syncope/trunk/console/src/main/webapp/css/style.css (original)
+++ syncope/trunk/console/src/main/webapp/css/style.css Thu Jan 31 17:21:31 2013
@@ -415,4 +415,36 @@ td.action{
 #versionMP a:hover {
   color: #463;
   text-decoration: none;
+}
+
+.tooltip{
+  position: absolute;
+  left: -72px;
+  top: 23px;
+  z-index: 1000000;
+  line-height: normal;
+  _padding-top: 0em;
+  width: 19em;
+  border: 1px solid black;
+  background-color: whitesmoke;
+  opacity: 0.9;
+  color: black;
+  padding: 3px;
+}
+
+.help {
+  position: relative;
+  float: right;
+  top: 3px;
+  left: -15px;
+}
+
+.help a {
+  color: #463;
+  text-decoration: none;
+}
+
+.help a:hover {
+  color: blue;
+  text-decoration: none;
 }
\ No newline at end of file

Added: syncope/trunk/console/src/main/webapp/img/help.png
URL: 
http://svn.apache.org/viewvc/syncope/trunk/console/src/main/webapp/img/help.png?rev=1441074&view=auto
==============================================================================
Binary file - no diff available.

Propchange: syncope/trunk/console/src/main/webapp/img/help.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream


Reply via email to