From: <die...@us...> - 2010-06-21 10:52:41
|
Revision: 2699 http://openutils.svn.sourceforge.net/openutils/?rev=2699&view=rev Author: diego_schivo Date: 2010-06-21 10:52:35 +0000 (Mon, 21 Jun 2010) Log Message: ----------- CONTROLS-31 checkbox column type Modified Paths: -------------- trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/ComboGridColumnType.java trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap-samples/controls/config.modules.controls.dialogs.samples-grid.xml Added Paths: ----------- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap/controls/config.modules.controls.gridColumnTypes.checkbox.xml Modified: trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties =================================================================== --- trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties 2010-06-21 09:52:56 UTC (rev 2698) +++ trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties 2010-06-21 10:52:35 UTC (rev 2699) @@ -4,3 +4,6 @@ testwebapp.dialogs.samples-grid.columnD.header=Column D testwebapp.dialogs.samples-grid.columnE.header=Column E testwebapp.dialogs.samples-grid.columnF.header=Column F +testwebapp.dialogs.samples-grid.columnG.header=Column G +testwebapp.dialogs.samples-grid.columnH.header=Column H +testwebapp.dialogs.samples-grid.columnI.header=Column I Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java 2010-06-21 09:52:56 UTC (rev 2698) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java 2010-06-21 10:52:35 UTC (rev 2699) @@ -52,7 +52,7 @@ * {@inheritDoc} */ @SuppressWarnings("unchecked") - public String drawSupportHtml(String propertyName, Map colmap) + public String drawSupportHtml(String propertyName, int colIndex, Map colmap, Messages msgs) { return StringUtils.EMPTY; } Added: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java (rev 0) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java 2010-06-21 10:52:35 UTC (rev 2699) @@ -0,0 +1,78 @@ +package net.sourceforge.openutils.mgnlcontrols.configuration; + +import info.magnolia.cms.core.Content; +import info.magnolia.cms.i18n.Messages; +import info.magnolia.cms.security.AccessDeniedException; +import info.magnolia.context.MgnlContext; + +import java.util.Map; + +import javax.jcr.RepositoryException; + +import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.lang.StringUtils; + + +/** + * @author dschivo + * @version $Id$ + */ +public class CheckboxGridColumnType implements GridColumnType +{ + + /** + * {@inheritDoc} + */ + public String getHeadSnippet() + { + return "<script type=\"text/javascript\" src=\"" + + MgnlContext.getContextPath() + + "/.resources/controls/js/CheckColumn.js\"></script>"; + } + + /** + * {@inheritDoc} + */ + public String drawSupportHtml(String propertyName, int colIndex, Map colmap, Messages msgs) + { + return StringUtils.EMPTY; + } + + /** + * {@inheritDoc} + */ + @SuppressWarnings("unchecked") + public String drawColumnJs(String propertyName, int colIndex, Map colMap, Messages msgs) + { + String header = (String) colMap.get("header"); + return "(function(){\n" + + "var cc = new Ext.grid.CheckColumn({" + + "header: '" + + StringEscapeUtils.escapeJavaScript(msgs.getWithDefault(header, header)) + + "'," + + "dataIndex: '" + + colIndex + + "'," + + "width: 40" + + "});\n" + + "checkColumns.push(cc);" + + "return cc;\n" + + "})()"; + } + + /** + * {@inheritDoc} + */ + public String processValueOnLoad(String value, Content colConfig) + { + return value; + } + + /** + * {@inheritDoc} + */ + public void processColumnOnSave(String[] column, Content colConfig, String propertyName, Content parentNode) + throws RepositoryException, AccessDeniedException + { + } +} Property changes on: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/ComboGridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/ComboGridColumnType.java 2010-06-21 09:52:56 UTC (rev 2698) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/ComboGridColumnType.java 2010-06-21 10:52:35 UTC (rev 2699) @@ -51,7 +51,7 @@ * {@inheritDoc} */ @Override - public String drawSupportHtml(String propertyName, Map colmap) + public String drawSupportHtml(String propertyName, int colIndex, Map colmap, Messages msgs) { StringBuilder sb = new StringBuilder(); sb.append("<select id=\"combo-" Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java 2010-06-21 09:52:56 UTC (rev 2698) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java 2010-06-21 10:52:35 UTC (rev 2699) @@ -41,7 +41,7 @@ */ public String getHeadSnippet(); - public String drawSupportHtml(String propertyName, Map colmap); + public String drawSupportHtml(String propertyName, int colIndex, Map colmap, Messages msgs); public String drawColumnJs(String propertyName, int colIndex, Map colmap, Messages msgs); Modified: trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl =================================================================== --- trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl 2010-06-21 09:52:56 UTC (rev 2698) +++ trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl 2010-06-21 10:52:35 UTC (rev 2699) @@ -6,7 +6,6 @@ [#else] <script type="text/javascript" src="${request.contextPath}/.resources/ext/ext-all.js"></script> [/#if] - <script type="text/javascript" src="${request.contextPath}/.resources/controls/js/CheckColumn.js"></script> <script type="text/javascript"> // <![CDATA[ @@ -77,7 +76,7 @@ [#list configuration.columns?values as colmap] [#if (colmap.type?? && gridColumnTypes[colmap.type]??)] - ${gridColumnTypes[colmap.type].drawSupportHtml(name, colmap)} + ${gridColumnTypes[colmap.type].drawSupportHtml(name, colmap_index, colmap, msgs)} [/#if] [/#list] @@ -110,24 +109,10 @@ var fm = Ext.form, Ed = Ext.grid.GridEditor; var checkColumns = []; - [#list configuration.columns?values as colmap] - [#if (colmap.type?? && colmap.type = 'checkbox')] - checkColumns.push(new Ext.grid.CheckColumn({ - header: '${msgs.getWithDefault(colmap.header?js_string, colmap.header?js_string)}', - dataIndex: '${colmap_index}', - width: 40 - })); - [/#if] - [/#list] - var checkIndex = 0; var colModel = new Ext.grid.ColumnModel([ [#list configuration.columns?values as colmap] - [#if (colmap.type?? && colmap.type = 'checkbox')] - checkColumns[checkIndex++] - [#else] - ${gridColumnTypes[colmap.type!'text'].drawColumnJs(name, colmap_index, colmap, msgs)} - [/#if][#if colmap_has_next],[/#if] + ${gridColumnTypes[colmap.type!'text'].drawColumnJs(name, colmap_index, colmap, msgs)}[#if colmap_has_next],[/#if] [/#list] ]); colModel.defaultSortable = true; Added: trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap/controls/config.modules.controls.gridColumnTypes.checkbox.xml =================================================================== --- trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap/controls/config.modules.controls.gridColumnTypes.checkbox.xml (rev 0) +++ trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap/controls/config.modules.controls.gridColumnTypes.checkbox.xml 2010-06-21 10:52:35 UTC (rev 2699) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="checkbox" 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>d17635e0-4b0c-4367-b9fd-dafca4d804b3</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlcontrols.configuration.CheckboxGridColumnType</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:activated" sv:type="Boolean"> + <sv:value>false</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-06-18T11:41:55.562+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-06-21T12:46:10.599+02:00</sv:value> + </sv:property> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap/controls/config.modules.controls.gridColumnTypes.checkbox.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap-samples/controls/config.modules.controls.dialogs.samples-grid.xml =================================================================== --- trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap-samples/controls/config.modules.controls.dialogs.samples-grid.xml 2010-06-21 09:52:56 UTC (rev 2698) +++ trunk/openutils-mgnlcontrols/src/main/resources/mgnl-bootstrap-samples/controls/config.modules.controls.dialogs.samples-grid.xml 2010-06-21 10:52:35 UTC (rev 2699) @@ -644,6 +644,46 @@ </sv:property> </sv:node> </sv:node> + <sv:node sv:name="07"> + <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>37008d42-f395-447b-8734-89dc7a4d0b38</sv:value> + </sv:property> + <sv:property sv:name="header" sv:type="String"> + <sv:value>testwebapp.dialogs.samples-grid.columnI.header</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="type" sv:type="String"> + <sv:value>checkbox</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:activated" sv:type="Boolean"> + <sv:value>false</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-05-11T18:49:01.296+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-06-21T12:19:56.691+02:00</sv:value> + </sv:property> + </sv:node> + </sv:node> </sv:node> </sv:node> </sv:node> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |