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