From: <car...@us...> - 2011-05-16 15:50:10
|
Revision: 3460 http://openutils.svn.sourceforge.net/openutils/?rev=3460&view=rev Author: carlocolombo Date: 2011-05-16 15:50:01 +0000 (Mon, 16 May 2011) Log Message: ----------- add inline message editing Modified Paths: -------------- trunk/openutils-mgnlmessages/pom.xml Added Paths: ----------- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/MessagesServlet.java trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/ trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg/ trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg/msgs-global.tag trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg.tld trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.server.filters.servlets.messages.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/css/jquery-ui-1.8.5.custom.css trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/css/messages.css trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/edit.png Modified: trunk/openutils-mgnlmessages/pom.xml =================================================================== --- trunk/openutils-mgnlmessages/pom.xml 2011-05-13 09:17:17 UTC (rev 3459) +++ trunk/openutils-mgnlmessages/pom.xml 2011-05-16 15:50:01 UTC (rev 3460) @@ -1,135 +1,141 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> - <parent> - <groupId>net.sourceforge.openutils</groupId> - <artifactId>openutils-parent</artifactId> - <relativePath>../openutils-parent</relativePath> - <version>1.9</version> - </parent> - <modelVersion>4.0.0</modelVersion> - <packaging>jar</packaging> - <artifactId>openutils-mgnlmessages</artifactId> - <name>Messages Module for Magnolia CMS</name> - <description>Manage your translations from the Magnolia admin interface</description> - <version>4.2.2-SNAPSHOT</version> - <licenses> - <license> - <name>GPLv3</name> - <url>http://www.gnu.org/licenses/gpl-3.0.txt</url> - </license> - </licenses> - <url>http://www.openmindlab.com/lab/products/messages.html</url> - <issueManagement> - <system>jira</system> - <url>http://jira.openmindlab.com/browse/MESSAGES</url> - </issueManagement> - <inceptionYear>2008</inceptionYear> - <scm> - <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</connection> - <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</developerConnection> - <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-mgnlmessages</url> - </scm> - <build> - <resources> - <resource> - <filtering>false</filtering> - <directory>src/main/resources</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - <resource> - <filtering>true</filtering> - <directory>src/main/resources</directory> - <includes> - <include>META-INF/magnolia/*</include> - </includes> - </resource> - </resources> - <plugins> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>bundle</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - <configuration> - <descriptors> - <descriptor>${basedir}/src/main/assembly/assembly-bundle.xml</descriptor> - </descriptors> - </configuration> - </plugin> - </plugins> - </build> - <dependencies> - <dependency> - <groupId>info.magnolia</groupId> - <artifactId>magnolia-core</artifactId> - <version>${magnolia.version}</version> - </dependency> - <dependency> - <groupId>info.magnolia</groupId> - <artifactId>magnolia-module-admininterface</artifactId> - <version>${magnolia.version}</version> - </dependency> - <dependency> - <groupId>net.sourceforge.openutils</groupId> - <artifactId>openutils-mgnltasks</artifactId> - <version>4.1.2</version> - </dependency> - <dependency> - <groupId>net.sourceforge.openutils</groupId> - <artifactId>openutils-mgnlext</artifactId> - <version>2.1</version> - </dependency> - <dependency> - <groupId>net.sourceforge.openutils</groupId> - <artifactId>openutils-mgnlcriteria</artifactId> - <version>3.3.1</version> - </dependency> - <dependency> - <groupId>org.apache.poi</groupId> - <artifactId>poi</artifactId> - <version>3.6</version> - <exclusions> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - <classifier>jdk15</classifier> - <version>5.1</version> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - <repositories> - <repository> - <id>repository.magnolia.info</id> - <name>magnolia repository</name> - <url>http://nexus.magnolia-cms.com/content/groups/public</url> - <releases> - <enabled>true</enabled> - </releases> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - </repositories> - <properties> - <magnolia.version>4.4.1</magnolia.version> - </properties> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> + <parent> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-parent</artifactId> + <relativePath>../openutils-parent</relativePath> + <version>1.9</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <packaging>jar</packaging> + <artifactId>openutils-mgnlmessages</artifactId> + <name>Messages Module for Magnolia CMS</name> + <description>Manage your translations from the Magnolia admin interface</description> + <version>4.2.2-SNAPSHOT</version> + <licenses> + <license> + <name>GPLv3</name> + <url>http://www.gnu.org/licenses/gpl-3.0.txt</url> + </license> + </licenses> + <url>http://www.openmindlab.com/lab/products/messages.html</url> + <issueManagement> + <system>jira</system> + <url>http://jira.openmindlab.com/browse/MESSAGES</url> + </issueManagement> + <inceptionYear>2008</inceptionYear> + <scm> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-mgnlmessages</url> + </scm> + <build> + <resources> + <resource> + <filtering>false</filtering> + <directory>src/main/resources</directory> + <includes> + <include>**/*</include> + </includes> + </resource> + <resource> + <filtering>true</filtering> + <directory>src/main/resources</directory> + <includes> + <include>META-INF/magnolia/*</include> + </includes> + </resource> + </resources> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>bundle</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + <configuration> + <descriptors> + <descriptor>${basedir}/src/main/assembly/assembly-bundle.xml</descriptor> + </descriptors> + </configuration> + </plugin> + </plugins> + </build> + <dependencies> + <dependency> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-core</artifactId> + <version>${magnolia.version}</version> + </dependency> + <dependency> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-module-admininterface</artifactId> + <version>${magnolia.version}</version> + </dependency> + <dependency> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-mgnltasks</artifactId> + <version>4.1.2</version> + </dependency> + <dependency> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-mgnlext</artifactId> + <version>2.1</version> + </dependency> + <dependency> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-mgnlcriteria</artifactId> + <version>3.3.1</version> + </dependency> + <dependency> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-taglib-cms</artifactId> + <version>4.3.5</version> + </dependency> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi</artifactId> + <version>3.6</version> + <exclusions> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <classifier>jdk15</classifier> + <version>5.1</version> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + <repositories> + <repository> + <id>repository.magnolia.info</id> + <name>magnolia repository</name> + <url>http://nexus.magnolia-cms.com/content/groups/public</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + </repositories> + <properties> + <magnolia.version>4.4.1</magnolia.version> + </properties> </project> \ No newline at end of file Added: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/MessagesServlet.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/MessagesServlet.java (rev 0) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/MessagesServlet.java 2011-05-16 15:50:01 UTC (rev 3460) @@ -0,0 +1,79 @@ +/** + * + * Messages Module for Magnolia CMS (http://www.openmindlab.com/lab/products/messages.html) + * Copyright(C) 2008-2011, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlmessages; + +import java.io.IOException; + +import javax.jcr.RepositoryException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager; + + +/** + * @author molaschi + * @version $Id: $ + */ +public class MessagesServlet extends HttpServlet +{ + + /** + * + */ + private static final long serialVersionUID = -1763781795315878360L; + + /** + * {@inheritDoc} + */ + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.setContentType("text/plain"); + String key = req.getParameter("key"); + String locale = req.getParameter("locale"); + String text = req.getParameter("text"); + + // escape single quote due MessageFormat + text = text.replaceAll("'", "''"); + + try + { + MessagesConfigurationManager.saveKeyValue(key, text, locale); + } + catch (RepositoryException ex) + { + resp.getWriter().println("false"); + } + + resp.flushBuffer(); + } + + /** + * {@inheritDoc} + */ + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + doGet(req, resp); + } +} Added: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java (rev 0) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java 2011-05-16 15:50:01 UTC (rev 3460) @@ -0,0 +1,143 @@ +/** + * + * Messages Module for Magnolia CMS (http://www.openmindlab.com/lab/products/messages.html) + * Copyright(C) 2008-2011, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlmessages.el; + +import info.magnolia.cms.i18n.I18nContentSupportFactory; +import info.magnolia.cms.i18n.MessagesManager; +import info.magnolia.cms.taglibs.CmsFunctions; +import info.magnolia.context.MgnlContext; +import info.magnolia.module.templating.MagnoliaTemplatingUtilities; + +import java.text.MessageFormat; + +import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.lang.StringUtils; + +public class MessagesEl { + /* + * Per rendere editabili i messaggi complessi con argomenti e link è + * necessario: - scrivere nel tag il message non formattato in default e + * locale corrente - modificare msg-global.tag per recuperare e visualizzare + * correttamente i dati passati al tag - per i messaggi con link e + * necessario non raddoppiare gli apici o poter discrimininare nel + * salvataggio o far inserire i doppi apici a chi modifica le label in + * pagina + */ + + public static String message(String key, boolean fallback, + boolean defaultLocale, Object[] arguments) { + if (defaultLocale) { + return MessagesManager.getMessages( + I18nContentSupportFactory.getI18nSupport() + .getFallbackLocale()).get(key, arguments); + } else { + String value = MessagesManager.getMessages( + I18nContentSupportFactory.getI18nSupport().getLocale()) + .get(key, arguments); + if (fallback + && (StringUtils.isBlank(value) || StringUtils.startsWith( + value, "???"))) { + return MessagesManager.getMessages( + I18nContentSupportFactory.getI18nSupport() + .getFallbackLocale()).get(key, arguments); + } + return value; + } + } + + private static final String MSGS_TPL = "<span class=\"msgEdit {0}\" data-msgkey=\"{1}\" data-msglocale=\"{2}\" data-msgdefaultlocale=\"{3}\" data-msgdefault=\"{4}\">{5}</span>"; + + public static String messageSimple(String key, Object[] arguments) { + if (MgnlContext.getAggregationState().getMainContent() != null + && MagnoliaTemplatingUtilities.getInstance().isEditMode() + && CmsFunctions.canEdit()) { + String keyCssClass = StringUtils.replace(key, ".", "_"); + + String tag = MessageFormat.format(MSGS_TPL, keyCssClass, key, + I18nContentSupportFactory.getI18nSupport().getLocale(), + I18nContentSupportFactory.getI18nSupport() + .getFallbackLocale(), + // evito di sostituire i placeholder quando sono in + // edit-mode + // StringEscapeUtils.escapeHtml(message(key, false, true, + // arguments)), + StringEscapeUtils.escapeHtml(message(key, false, true)), + // evito di sostituire i placeholder quando sono in + // edit-mode + // message(key, false, false, arguments)); + message(key, false, false)); + return tag; + } + return message(key, true, false, arguments); + } + + public static String messagePlain(String key, Object[] arguments) { + return message(key, true, false, arguments); + } + + public static String messageSimple(String key) { + return messageSimple(key, null); + } + + public static String message(String key, boolean fallback, + boolean defaultLocale) { + return message(key, fallback, defaultLocale, null); + } + + public static String messagePlain(String key) { + return messagePlain(key, null); + } + + public static String messageSimple(String key, Object argument) { + return messageSimple(key, new Object[] { argument }); + } + + public static String message(String key, boolean fallback, + boolean defaultLocale, Object argument) { + return message(key, fallback, defaultLocale, new Object[] { argument }); + } + + public static String messagePlain(String key, Object argument) { + return messagePlain(key, new Object[] { argument }); + } + + public static String messageSimple(String key, Object arg1, Object arg2) { + return messageSimple(key, new Object[] { arg1, arg2 }); + } + + public static String message(String key, boolean fallback, + boolean defaultLocale, Object arg1, Object arg2) { + return message(key, fallback, defaultLocale, + new Object[] { arg1, arg2 }); + } + + public static String messagePlain(String key, Object arg1, Object arg2) { + return messagePlain(key, new Object[] { arg1, arg2 }); + } + + public static String messagePlain(String key, Object arg1, Object arg2, + Object arg3) { + return messagePlain(key, new Object[] { arg1, arg2, arg3 }); + } + + public static String escapeJs(String msg) { + return StringEscapeUtils.escapeJavaScript(msg); + } +} Added: trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg/msgs-global.tag =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg/msgs-global.tag (rev 0) +++ trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg/msgs-global.tag 2011-05-16 15:50:01 UTC (rev 3460) @@ -0,0 +1,139 @@ +<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:cms="urn:jsptld:cms-taglib" + xmlns:c="urn:jsptld:http://java.sun.com/jsp/jstl/core" xmlns:fmt="urn:jsptld:http://java.sun.com/jsp/jstl/fmt" + xmlns:media="http://net.sourceforge.openutils/mgnlMedia" xmlns:cmsu="urn:jsptld:cms-util-taglib" xmlns:cmsfn="http://www.magnolia.info/tlds/cmsfn-taglib.tld" + xmlns:su="http://openutils.sf.net/openutils-stringutils" xmlns:fn="http://java.sun.com/jsp/jstl/functions" xmlns:mu="mgnlutils" + xmlns:du="dateutils" xmlns:fdt="urn:jsptagdir:/WEB-INF/tags/fieradigitale-tags" xmlns:mgnlt="urn:jsptagdir:/WEB-INF/tags/mgnltags" + xmlns:fd="fieradigitale"> + <jsp:directive.attribute name="jqueryui" required="false" rtexprvalue="true" type="java.lang.Boolean" /> + <jsp:directive.attribute name="jquery" required="false" rtexprvalue="true" type="java.lang.Boolean" /> + <c:if test="${mgnl.editMode and cmsfn:canEdit()}"> + <c:if test="${not empty jquery and jquery}"> + <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"><!-- --> + </script> + </c:if> + <c:if test="${not empty jqueryui and jqueryui}"> + <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"><!-- --> + </script> + </c:if> + <script type="text/javascript"> + <![CDATA[ + (function($) { + var currentMsgEdit = null; + + function init(container, dialog) { + container.css({ + "-webkit-border-radius" : 4, + "-moz-border-radius" : 4, + "border-radius" : 4 + }); + var msgKey = container.attr("data-msgkey"); + var msgsWithSameKey = $("." + msgKey.replace(/\./g, '_')); + var msgLocale = container.attr("data-msglocale"); + var msgDefaultLocale = container.attr("data-msgdefaultlocale"); + var defaultMsg = container.attr("data-msgdefault"); + + var editLink = $('<a href="#" title="edit" \ + style="position:absolute;background:#000 url(${appCtx}/.resources/messages/icons/edit.png) center \ + center no-repeat;border-radius:4px;-moz-border-radius:4px;\ + -webkit-border-radius:4px;width:24px;height:24px;z-index:1000"></a>'); + editLink.css({ + top: container.offset().top + (container.height() - 24) / 2, + left: container.offset().left - 24 + parseInt(container.css('margin-left')) + parseInt(container.css('padding-left')) + }); + $("body").append(editLink); + editLink.fadeTo('slow',0.3); + editLink.mouseenter(function(){ + editLink.fadeTo('slow',1.0); + msgsWithSameKey.animate({ + "background-color" : 'yellow'}); + }); + editLink.mouseleave(function(){ + editLink.fadeTo('slow',0.3); + msgsWithSameKey.css({ + "background-color" : 'transparent'}); + }); + editLink.click(function(evt){ + evt.preventDefault(); + currentMsgEdit = container; + $("#dialog-msgEdit-default").css({ + display: (msgDefaultLocale == msgLocale) ? "none" : "block" + }); + if (msgDefaultLocale != msgLocale) { + $("#dialog-msgEdit-default-message").text(defaultMsg); + } + dialog.dialog( "open" ); + }); + }; + + $.fn.mgnlMessageEdit = function(params) { + var dialog = $("#dialog-msgEdit").dialog({ + autoOpen: false, + height: 220, + width: 350, + modal: true, + buttons: { + "Save": function() { + var valueTxt = $("#dialog-msgEdit-value").val(); + var msgKey = currentMsgEdit.attr('data-msgkey'); + if (valueTxt != currentMsgEdit.text().trim()) + { + $("." + msgKey.replace(/\./g, '_')).text(valueTxt); + $.ajax({ + url: '${appCtx}/messages/save', + type: 'POST', + data: { + key: msgKey, + locale: currentMsgEdit.attr('data-msglocale'), + text: valueTxt + }, + error: function(err) { + alert(err); + }, + success: function(msg) { + } + }); + $( this ).dialog( "close" ); + } + }, + "Cancel": function() { + $( this ).dialog( "close" ); + } + }, + open: function() { + $("#dialog-msgEdit-value").val(currentMsgEdit.html().trim()); + }, + close: function() { + } + + }); + $(this).each(function(i,el){ + init($(el), dialog); + }); + }; + + })($); + + $('head').append('<link type="text/css" rel="stylesheet" href="${appCtx}/.resources/messages/css/messages.css" />'); + $('head').append('<link type="text/css" rel="stylesheet" href="${appCtx}/.resources/messages/css/jquery-ui-1.8.5.custom.css" />'); + + $(document).ready(function(){ + $(".msgEdit").mgnlMessageEdit(); + }); + ]]> + </script> + <div id="dialog-msgEdit" class="msgEditDialog" title="Edit message"> + <p id="dialog-msgEdit-default"> + Message in default locale is: + <br /> + <span id="dialog-msgEdit-default-message" style="font-style:italic"><!-- --> + </span> + </p> + <form id="dialog-msgEdit-form" action="${appCtx}/messages/save"> + <fieldset> + <textarea id="dialog-msgEdit-value"><!-- --> + </textarea> + </fieldset> + </form> + </div> + </c:if> +</jsp:root> \ No newline at end of file Added: trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg.tld =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg.tld (rev 0) +++ trunk/openutils-mgnlmessages/src/main/resources/META-INF/tags/msg.tld 2011-05-16 15:50:01 UTC (rev 3460) @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + version="2.0"> + <description>Messages tag library</description> + <display-name>Messages tags</display-name> + <tlib-version>1.1</tlib-version> + <short-name>msg</short-name> + <uri>http://net.sourceforge.openutils/mgnlMessages</uri> + <tag-file> + <description>Write global javascript to allow messages editing</description> + <display-name>messages Tag</display-name> + <name>msgs-global</name> + <path>/META-INF/tags/msg/msgs-global.tag</path> + <example> + <![CDATA[ + <msg:msgs-global /> + ]]> + </example> + </tag-file> + <function> + <name>msgfortag</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String message(java.lang.String, boolean, boolean)</function-signature> + </function> + <function> + <name>msg</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messageSimple(java.lang.String)</function-signature> + </function> + <function> + <name>msgplain</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messagePlain(java.lang.String)</function-signature> + </function> + <function> + <name>msgfortagWith1Arg</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String message(java.lang.String, boolean, boolean, + java.lang.Object)</function-signature> + </function> + <function> + <name>msgWith1Arg</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messageSimple(java.lang.String, + java.lang.Object)</function-signature> + </function> + <function> + <name>msgplainWith1Arg</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messagePlain(java.lang.String, + java.lang.Object)</function-signature> + </function> + <function> + <name>msgfortagWith2Args</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String message(java.lang.String, boolean, boolean, + java.lang.Object, java.lang.Object)</function-signature> + </function> + <function> + <name>msgWith2Args</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messageSimple(java.lang.String, + java.lang.Object, java.lang.Object)</function-signature> + </function> + <function> + <name>msgplainWith2Args</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messagePlain(java.lang.String, + java.lang.Object, java.lang.Object)</function-signature> + </function> + <function> + <name>msgplainWith3Args</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messagePlain(java.lang.String, + java.lang.Object, java.lang.Object, java.lang.Object)</function-signature> + </function> + <function> + <name>msgfortagWithArgs</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String message(java.lang.String, boolean, boolean, + java.lang.Object[])</function-signature> + </function> + <function> + <name>msgWithArgs</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messageSimple(java.lang.String, + java.lang.Object[])</function-signature> + </function> + <function> + <name>msgplainWithArgs</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String messagePlain(java.lang.String, + java.lang.Object[])</function-signature> + </function> + <function> + <name>escapeJs</name> + <function-class>net.sourceforge.openutils.mgnlmessages.el.MessagesEl</function-class> + <function-signature>String escapeJs(java.lang.String)</function-signature> + </function> +</taglib> \ No newline at end of file Added: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.server.filters.servlets.messages.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.server.filters.servlets.messages.xml (rev 0) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.server.filters.servlets.messages.xml 2011-05-16 15:50:01 UTC (rev 3460) @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="messages" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>0bf4fca2-7820-4496-891e-abbe95d1f204</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>info.magnolia.cms.filters.ServletDispatchingFilter</sv:value> + </sv:property> + <sv:property sv:name="comment" sv:type="String"> + <sv:value>a servlet used by the fieradigitale module</sv:value> + </sv:property> + <sv:property sv:name="enabled" sv:type="Boolean"> + <sv:value>true</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="servletClass" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmessages.MessagesServlet</sv:value> + </sv:property> + <sv:property sv:name="servletName" sv:type="String"> + <sv:value>messages</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-12-08T22:24:37.047+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-12-08T22:24:37.047+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:title" sv:type="String"> + <sv:value/> + </sv:property> + </sv:node> + <sv:node sv:name="mappings"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>117eae57-9e9c-457d-b787-e4acccc67986</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-12-08T22:24:37.049+01:00</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="-messages-save"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>b53f3aec-1992-4057-bd3f-18f155851357</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="pattern" sv:type="String"> + <sv:value>/messages/save</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-12-08T22:24:37.049+01:00</sv:value> + </sv:property> + </sv:node> + </sv:node> + </sv:node> + <sv:node sv:name="parameters"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>9388a84b-c510-49f3-93db-d8a0f6fa5ee4</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-12-08T22:24:37.049+01:00</sv:value> + </sv:property> + </sv:node> + </sv:node> +</sv:node> Added: trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/css/jquery-ui-1.8.5.custom.css =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/css/jquery-ui-1.8.5.custom.css (rev 0) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/css/jquery-ui-1.8.5.custom.css 2011-05-16 15:50:01 UTC (rev 3460) @@ -0,0 +1,572 @@ +/* + * jQuery UI CSS Framework 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } +.ui-widget-header a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } +.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } +.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } +.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* + * jQuery UI Resizable 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; }/* + * jQuery UI Autocomplete 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.6 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/... [truncated message content] |