http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/actionmessage.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/actionmessage.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/actionmessage.ftl new file mode 100644 index 0000000..07174dd --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/actionmessage.ftl @@ -0,0 +1,43 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#if (actionMessages?? && actionMessages?size > 0 && !parameters.isEmptyList)> + <ul<#rt/> +<#if parameters.id?if_exists != ""> + id="${parameters.id?html}"<#rt/> +</#if> +<#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> +<#else> + class="actionMessage"<#rt/> +</#if> +<#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> +</#if> +> + <#list actionMessages as message> + <#if message?if_exists != ""> + <li><span><#if parameters.escape>${message!?html}<#else>${message!}</#if></span></li> + </#if> + </#list> + </ul> +</#if> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/checkbox.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/checkbox.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/checkbox.ftl new file mode 100644 index 0000000..1ef6b03 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/checkbox.ftl @@ -0,0 +1,50 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<input type="checkbox" name="${parameters.name?html}" value="${parameters.fieldValue?html}"<#rt/> +<#if parameters.nameValue?? && parameters.nameValue> + checked="checked"<#rt/> +</#if> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> +<#if parameters.readonly?default(false)> + readonly="readonly"<#rt/> +</#if> +<#if parameters.tabindex??> + tabindex="${parameters.tabindex?html}"<#rt/> +</#if> +<#if parameters.id??> + id="${parameters.id?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /> +<#if parameters.title??> + title="${parameters.title?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +/><input type="hidden" id="__checkbox_${parameters.id?html}" name="__checkbox_${parameters.name?html}" value="${parameters.fieldValue?html}"<#rt/> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> + /> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/checkboxlist.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/checkboxlist.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/checkboxlist.ftl new file mode 100644 index 0000000..3ce8686 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/checkboxlist.ftl @@ -0,0 +1,113 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#assign itemCount = 0/> +<#if parameters.list??> +<@s.iterator value="parameters.list"> + <#assign itemCount = itemCount + 1/> + <#if parameters.listKey??> + <#assign itemKey = stack.findValue(parameters.listKey)/> + <#else> + <#assign itemKey = stack.findValue('top')/> + </#if> + <#if parameters.listValue??> + <#assign itemValue = stack.findString(parameters.listValue)?default("")/> + <#else> + <#assign itemValue = stack.findString('top')/> + </#if> + <#if parameters.listCssClass??> + <#if stack.findString(parameters.listCssClass)??> + <#assign itemCssClass= stack.findString(parameters.listCssClass)/> + <#else> + <#assign itemCssClass = ''/> + </#if> + </#if> + <#if parameters.listCssStyle??> + <#if stack.findString(parameters.listCssStyle)??> + <#assign itemCssStyle= stack.findString(parameters.listCssStyle)/> + <#else> + <#assign itemCssStyle = ''/> + </#if> + </#if> + <#if parameters.listTitle??> + <#if stack.findString(parameters.listTitle)??> + <#assign itemTitle= stack.findString(parameters.listTitle)/> + <#else> + <#assign itemTitle = ''/> + </#if> + </#if> + <#assign itemKeyStr=itemKey.toString() /> +<input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}"<#rt/> + <#if parameters.id??> + id="${parameters.id?html}-${itemCount}"<#rt/> + <#else> + id="${parameters.name?html}-${itemCount}"<#rt/> + </#if> + <#if tag.contains(parameters.nameValue, itemKey)> + checked="checked"<#rt/> + </#if> + <#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> + </#if> + <#if itemCssClass?if_exists != ""> + class="${itemCssClass?html}"<#rt/> + <#else> + <#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> + </#if> + </#if> + <#if itemCssStyle?if_exists != ""> + style="${itemCssStyle?html}"<#rt/> + <#else> + <#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> + </#if> + </#if> + <#if itemTitle?if_exists != ""> + title="${itemTitle?html}"<#rt/> + <#else> + <#if parameters.title??> + title="${parameters.title?html}"<#rt/> + </#if> + </#if> + <#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /> + <#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> + <#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> + <#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> + /> +<label<#rt/> + <#if parameters.id??> + for="${parameters.id?html}-${itemCount}"<#rt/> + <#else> + for="${parameters.name?html}-${itemCount}"<#rt/> + </#if> + class="checkboxLabel">${itemValue?html}</label> +</@s.iterator> + <#else> + +</#if> +<input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}" + value=""<#rt/> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> + /> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/combobox.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/combobox.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/combobox.ftl new file mode 100644 index 0000000..760ad71 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/combobox.ftl @@ -0,0 +1,103 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<script type="text/javascript"> + function autoPopulate_${parameters.escapedId?html}(targetElement) { + <#if parameters.headerKey?? && parameters.headerValue??> + if (targetElement.options[targetElement.selectedIndex].value == '${parameters.headerKey?html}') { + return; + } + </#if> + <#if parameters.emptyOption?default(false)> + if (targetElement.options[targetElement.selectedIndex].value == '') { + return; + } + </#if> + targetElement.form.elements['${parameters.name?html}'].value=targetElement.options[targetElement.selectedIndex].value; + } +</script> +<#include "/${parameters.templateDir}/simple/text.ftl" /> +<br /> +<#if parameters.list??> +<select onChange="autoPopulate_${parameters.escapedId?html}(this);"<#rt/> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /> + <#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> + </#if> +> + <#if (parameters.headerKey?? && parameters.headerValue??)> + <option value="${parameters.headerKey?html}">${parameters.headerValue?html}</option> + </#if> + <#if parameters.emptyOption?default(false)> + <option value=""></option> + </#if> + <@s.iterator value="parameters.list"> + <#if parameters.listKey??> + <#assign tmpListKey = stack.findString(parameters.listKey) /> + <#else> + <#assign tmpListKey = stack.findString('top') /> + </#if> + <#if parameters.listValue??> + <#assign tmpListValue = stack.findString(parameters.listValue) /> + <#else> + <#assign tmpListValue = stack.findString('top') /> + </#if> + <#if parameters.listCssClass??> + <#if stack.findString(parameters.listCssClass)??> + <#assign itemCssClass= stack.findString(parameters.listCssClass)/> + <#else> + <#assign itemCssClass = ''/> + </#if> + </#if> + <#if parameters.listCssStyle??> + <#if stack.findString(parameters.listCssStyle)??> + <#assign itemCssStyle= stack.findString(parameters.listCssStyle)/> + <#else> + <#assign itemCssStyle = ''/> + </#if> + </#if> + <#if parameters.listTitle??> + <#if stack.findString(parameters.listTitle)??> + <#assign itemTitle= stack.findString(parameters.listTitle)/> + <#else> + <#assign itemTitle = ''/> + </#if> + </#if> + <option value="${tmpListKey?html}"<#rt/> + <#if (parameters.nameValue == tmpListKey)> + selected="selected"<#rt/> + </#if> + <#if itemCssClass?if_exists != ""> + class="${itemCssClass?html}"<#rt/> + </#if> + <#if itemCssStyle?if_exists != ""> + style="${itemCssStyle?html}"<#rt/> + </#if> + <#if itemTitle?if_exists != ""> + title="${itemTitle?html}"<#rt/> + </#if> + ><#t/> + ${tmpListValue?html}<#t/> + </option><#lt/> + </@s.iterator> +</select> +</#if> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/common-attributes.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/common-attributes.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/common-attributes.ftl new file mode 100644 index 0000000..6056654 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/common-attributes.ftl @@ -0,0 +1,25 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#if parameters.accesskey??> + accesskey="${parameters.accesskey?html}" +</#if> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/controlfooter.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/controlfooter.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/controlfooter.ftl new file mode 100644 index 0000000..32bba27 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/controlfooter.ftl @@ -0,0 +1,22 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/controlheader.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/controlheader.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/controlheader.ftl new file mode 100644 index 0000000..32bba27 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/controlheader.ftl @@ -0,0 +1,22 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/css.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/css.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/css.ftl new file mode 100644 index 0000000..6623c1d --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/css.ftl @@ -0,0 +1,35 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/> +<#if parameters.cssClass?? && !(hasFieldErrors && parameters.cssErrorClass??)> + class="${parameters.cssClass?html}"<#rt/> +<#elseif parameters.cssClass?? && (hasFieldErrors && parameters.cssErrorClass??)> + class="${parameters.cssClass?html} ${parameters.cssErrorClass?html}"<#rt/> +<#elseif !(parameters.cssClass??) && (hasFieldErrors && parameters.cssErrorClass??)> + class="${parameters.cssErrorClass?html}"<#rt/> +</#if> +<#if parameters.cssStyle?? && !(hasFieldErrors && (parameters.cssErrorStyle?? || parameters.cssErrorClass??))> + style="${parameters.cssStyle?html}"<#rt/> +<#elseif hasFieldErrors && parameters.cssErrorStyle??> + style="${parameters.cssErrorStyle?html}"<#rt/> +</#if> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/debug.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/debug.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/debug.ftl new file mode 100644 index 0000000..8b2db3d --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/debug.ftl @@ -0,0 +1,82 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<script type="text/javascript"> +<!-- + function toggleDebug(debugId) { + var debugDiv = document.getElementById(debugId); + if (debugDiv) { + var display = debugDiv.style.display; + if (display == 'none') { + debugDiv.style.display = 'block'; + } else if (display == 'block') { + debugDiv.style.display = 'none'; + } + } + } +--> +</script> +<p /> + +<a href="#" onclick="toggleDebug('<#if parameters.id?if_exists != "">${parameters.id?html}<#else>debug</#if>');return false;">[Debug]</a> +<div style="display:none" id="<#if parameters.id?if_exists != "">${parameters.id?html}<#else>debug</#if>"> +<h2>Struts ValueStack Debug</h2> +<p /> + +<h3>Value Stack Contents</h3> +<table border="0" cellpadding="2" cellspacing="0" bgcolor="#DDDDDD"> + <tr><th>Object</th><th>Property Name</th><th>Property Value</th></tr> + + <#assign index=1> + <#list parameters.stackValues as stackObject> + <tr> + <td rowspan="${stackObject.value.size()}">${stackObject.key}</td> + + <#assign renderRow=false> + <#list stackObject.value.keySet() as propertyName> + <#if renderRow==true></tr><tr><#else> <#assign renderRow=false> </#if> + <td bgcolor="<#if (index % 2) == 0>#BBBBBB<#else>#CCCCCC</#if>">${propertyName}</td> + <td bgcolor="<#if (index % 2) == 0>#BBBBBB<#else>#CCCCCC</#if>"><#if stackObject.value.get(propertyName)??>${stackObject.value.get(propertyName).toString()?html}<#else>null</#if></td> + </tr> + <#assign index= index + 1> + </#list> + </#list> +</table> +<p /> + +<h3>Stack Context</h3> +<i>These items are available using the #key notation</i> +<table border="0" cellpadding="2" cellspacing="0" bgcolor="#DDDDDD"> + <tr> + <th>Key</th><th>Value</th> + </tr> + + <#assign index=1> + <#list stack.context.keySet() as contextKey> + <tr bgcolor="<#if (index % 2) == 0>#BBBBBB<#else>#CCCCCC</#if>"> + <td>${contextKey}</td> + <td><#if stack.context.get(contextKey)??>${struts.toStringSafe(stack.context.get(contextKey))?html}<#else>null</#if></td> + </tr> + <#assign index= index + 1> + </#list> +</table> +</div> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/div-close.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/div-close.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/div-close.ftl new file mode 100644 index 0000000..1957b64 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/div-close.ftl @@ -0,0 +1,23 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +</div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/div.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/div.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/div.ftl new file mode 100644 index 0000000..5c9365a --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/div.ftl @@ -0,0 +1,32 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<div<#rt/> +<#if parameters.id??> id="${parameters.id?html}"<#rt/></#if> +<#if parameters.name??> name="${parameters.name?html}"<#rt/></#if> +<#if parameters.cssClass??> class="${parameters.cssClass?html}"<#rt/></#if> +<#if parameters.cssStyle??> style="${parameters.cssStyle?html}"<#rt/></#if> +<#if parameters.title??> title="${parameters.title?html}"<#rt/></#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/doubleselect.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/doubleselect.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/doubleselect.ftl new file mode 100644 index 0000000..8880377 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/doubleselect.ftl @@ -0,0 +1,198 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#include "/${parameters.templateDir}/simple/select.ftl" /> +<#assign startCount = 0/> +<#if parameters.headerKey?? && parameters.headerValue??> + <#assign startCount = startCount + 1/> +</#if> +<#if parameters.emptyOption??> + <#assign startCount = startCount + 1/> +</#if> + +<br/> +<select<#rt/> + name="${parameters.doubleName?default("")?html}"<#rt/> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> +<#if parameters.doubleTabindex??> + tabindex="${parameters.doubleTabindex?html}"<#rt/> +</#if> +<#if parameters.doubleId??> + id="${parameters.doubleId?html}"<#rt/> +</#if> +<#if parameters.doubleCss??> + class="${parameters.doubleCss?html}"<#rt/> +</#if> +<#if parameters.doubleStyle??> + style="${parameters.doubleStyle?html}"<#rt/> +</#if> +<#if parameters.title??> + title="${parameters.title?html}"<#rt/> +</#if> +<#if parameters.multiple?default(false)> + multiple="multiple"<#rt/> +</#if> +<#if parameters.get("doubleSize")??> + size="${parameters.get("doubleSize")?html}"<#rt/> +</#if> +<#if parameters.doubleMultiple?default(false)> + multiple="multiple"<#rt/> +</#if> +<#if parameters.doubleDisabled?default(false)> + disabled="disabled"<#rt/> +</#if> + > +</select> +<#if parameters.doubleMultiple?default(false)> +<input type="hidden" id="__multiselect_${parameters.doubleId?html}" + name="__multiselect_${parameters.doubleName?default("")?html}" value=""<#rt/> + <#if parameters.doubleDisabled?default(false)> + disabled="disabled"<#rt/> + </#if> + /> +</#if> +<script type="text/javascript"> + <#assign itemCount = startCount/> + var ${parameters.id}Group = new Array(${parameters.listSize} + ${startCount}); + for (i = 0; i < (${parameters.listSize} + ${startCount}); i++) + ${parameters.id}Group[i] = new Array(); + + <@s.iterator value="parameters.list"> + <#if parameters.listKey??> + <#assign itemKey = stack.findValue(parameters.listKey)/> + <#else> + <#assign itemKey = stack.findValue('top')/> + </#if> + <#if parameters.listValue??> + <#assign itemValue = stack.findString(parameters.listValue)/> + <#else> + <#assign itemValue = stack.findString('top')/> + </#if> + <#assign doubleItemCount = 0/> + <#if parameters.doubleHeaderKey?? && parameters.doubleHeaderValue??> + ${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleHeaderValue?js_string}", "${doubleHeaderKey?js_string}"); + <#assign doubleItemCount = doubleItemCount + 1/> + </#if> + <#if parameters.doubleEmptyOption??> + ${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("", ""); + <#assign doubleItemCount = doubleItemCount + 1/> + </#if> + <@s.iterator value="${parameters.doubleList}"> + <#if parameters.doubleListKey??> + <#assign doubleItemKey = stack.findValue(parameters.doubleListKey)/> + <#else> + <#assign doubleItemKey = stack.findValue('top')/> + </#if> + <#assign doubleItemKeyStr = doubleItemKey.toString() /> + <#if parameters.doubleListValue??> + <#assign doubleItemValue = stack.findString(parameters.doubleListValue)/> + <#else> + <#assign doubleItemValue = stack.findString('top')/> + </#if> + <#if parameters.doubleListCssClass??> + <#if stack.findString(parameters.doubleListCssClass)??> + <#assign itemDoubleCssClass= stack.findString(parameters.doubleListCssClass)/> + <#else> + <#assign itemDoubleCssClass = ''/> + </#if> + </#if> + <#if parameters.doubleListCssStyle??> + <#if stack.findString(parameters.doubleListCssStyle)??> + <#assign itemDoubleCssStyle= stack.findString(parameters.doubleListCssStyle)/> + <#else> + <#assign itemDoubleCssStyle = ''/> + </#if> + </#if> + <#if parameters.doubleListTitle??> + <#if stack.findString(parameters.doubleListTitle)??> + <#assign itemDoubleTitle= stack.findString(parameters.doubleListTitle)/> + <#else> + <#assign itemDoubleTitle = ''/> + </#if> + </#if> + ${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleItemValue?js_string}", "${doubleItemKeyStr?js_string}"); + <#if itemDoubleCssClass?if_exists != ""> + ${parameters.id}Group[${itemCount}][${doubleItemCount}].setAttribute("class","${itemDoubleCssClass?html}"); + </#if> + <#if itemDoubleCssStyle?if_exists != ""> + ${parameters.id}Group[${itemCount}][${doubleItemCount}].setAttribute("style","${itemDoubleCssStyle?html}"); + </#if> + <#if itemDoubleTitle?if_exists != ""> + ${parameters.id}Group[${itemCount}][${doubleItemCount}].setAttribute("title","${itemDoubleTitle?html}"); + </#if> + + <#assign doubleItemCount = doubleItemCount + 1/> + </@s.iterator> + <#assign itemCount = itemCount + 1/> + </@s.iterator> + + var ${parameters.id}Temp = document.${parameters.formName}.${parameters.doubleId}; + <#assign itemCount = startCount/> + <#assign redirectTo = 0/> + <@s.iterator value="parameters.list"> + <#if parameters.listKey??> + <#assign itemKey = stack.findValue(parameters.listKey)/> + <#else> + <#assign itemKey = stack.findValue('top')/> + </#if> + <#if tag.contains(parameters.nameValue, itemKey)> + <#assign redirectTo = itemCount/> + </#if> + <#assign itemCount = itemCount + 1/> + </@s.iterator> + ${parameters.id}Redirect(${redirectTo}); + function ${parameters.id}Redirect(x) { + var selected = false; + for (m = ${parameters.id}Temp.options.length - 1; m >= 0; m--) { + ${parameters.id}Temp.remove(m); + } + + for (i = 0; i < ${parameters.id}Group[x].length; i++) { + ${parameters.id}Temp.options[i] = new Option(${parameters.id}Group[x][i].text, ${parameters.id}Group[x][i].value); + <#if parameters.doubleNameValue?exists> + <#if parameters.doubleMultiple?exists> + for (j = 0; j < ${parameters.doubleNameValue}. + length; + j++ + ) + { + if (${parameters.id}Temp.options[i].value == ${parameters.doubleNameValue?js_string}[j]) { + ${parameters.id}Temp.options[i].selected = true; + selected = true; + } + } + <#else> + if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue?js_string}') { + ${parameters.id}Temp.options[i].selected = true; + selected = true; + } + </#if> + </#if> + } + + if ((${parameters.id}Temp.options.length > 0) && (! selected)) { + ${parameters.id}Temp.options[0].selected = true; + } + } +</script> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/dynamic-attributes.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/dynamic-attributes.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/dynamic-attributes.ftl new file mode 100644 index 0000000..485c20c --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/dynamic-attributes.ftl @@ -0,0 +1,34 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#if (parameters.dynamicAttributes?? && parameters.dynamicAttributes?size > 0)><#rt/> +<#assign aKeys = parameters.dynamicAttributes.keySet()><#rt/> +<#list aKeys as aKey><#rt/> + <#assign keyValue = parameters.dynamicAttributes[aKey]/> + <#if keyValue?is_string> + <#assign value = struts.translateVariables(keyValue)!keyValue/> + <#else> + <#assign value = keyValue?string/> + </#if> + ${aKey}="${value?html}"<#rt/> +</#list><#rt/> +</#if><#rt/> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/empty.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/empty.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/empty.ftl new file mode 100644 index 0000000..32bba27 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/empty.ftl @@ -0,0 +1,22 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/fielderror.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/fielderror.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/fielderror.ftl new file mode 100644 index 0000000..a37ff1f --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/fielderror.ftl @@ -0,0 +1,82 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#if fieldErrors??><#t/> + <#assign eKeys = fieldErrors.keySet()><#t/> + <#assign eKeysSize = eKeys.size()><#t/> + <#assign doneStartUlTag=false><#t/> + <#assign doneEndUlTag=false><#t/> + <#assign haveMatchedErrorField=false><#t/> + <#if (fieldErrorFieldNames?size > 0) ><#t/> + <#list fieldErrorFieldNames as fieldErrorFieldName><#t/> + <#list eKeys as eKey><#t/> + <#if (eKey = fieldErrorFieldName)><#t/> + <#assign haveMatchedErrorField=true><#t/> + <#assign eValue = fieldErrors[fieldErrorFieldName]><#t/> + <#if (haveMatchedErrorField && (!doneStartUlTag))><#t/> + <ul<#rt/> + <#if parameters.id?if_exists != ""> + id="${parameters.id?html}"<#rt/> + </#if> + <#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> + <#else> + class="errorMessage"<#rt/> + </#if> + <#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> + </#if> + > + <#assign doneStartUlTag=true><#t/> + </#if><#t/> + <#list eValue as eEachValue><#t/> + <li><span><#if parameters.escape>${eEachValue!?html}<#else>${eEachValue!}</#if></span></li> + </#list><#t/> + </#if><#t/> + </#list><#t/> + </#list><#t/> + <#if (haveMatchedErrorField && (!doneEndUlTag))><#t/> + </ul> + <#assign doneEndUlTag=true><#t/> + </#if><#t/> + <#else><#t/> + <#if (eKeysSize > 0)><#t/> + <ul<#rt/> + <#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> + <#else> + class="errorMessage"<#rt/> + </#if> + <#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> + </#if> + > + <#list eKeys as eKey><#t/> + <#assign eValue = fieldErrors[eKey]><#t/> + <#list eValue as eEachValue><#t/> + <li><span><#if parameters.escape>${eEachValue!?html}<#else>${eEachValue!}</#if></span></li> + </#list><#t/> + </#list><#t/> + </ul> + </#if><#t/> + </#if><#t/> +</#if><#t/> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/file.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/file.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/file.ftl new file mode 100644 index 0000000..c7b7a83 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/file.ftl @@ -0,0 +1,48 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<input type="file"<#rt/> + name="${parameters.name?default("")?html}"<#rt/> +<#if parameters.get("size")??> + size="${parameters.get("size")?html}"<#rt/> +</#if> + value=""<#rt/> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> +<#if parameters.accept??> + accept="${parameters.accept?html}"<#rt/> +</#if> +<#if parameters.tabindex??> + tabindex="${parameters.tabindex?html}"<#rt/> +</#if> +<#if parameters.id??> + id="${parameters.id?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /> +<#if parameters.title??> + title="${parameters.title?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +/> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/form-close.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/form-close.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/form-close.ftl new file mode 100644 index 0000000..360eef9 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/form-close.ftl @@ -0,0 +1,113 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +</form> + +<#if (parameters.customOnsubmitEnabled?if_exists)> +<script type="text/javascript"> +<#-- + Enable auto-select of optiontransferselect tag's entries upon containing form's + submission. +--> +<#if (parameters.optiontransferselectIds?if_exists?size > 0)> + var containingForm = document.getElementById("${parameters.id}"); + <#assign selectObjIds = parameters.optiontransferselectIds.keySet() /> + <#list selectObjIds as selectObjectId> + StrutsUtils.addEventListener(containingForm, "submit", + function(evt) { + var selectObj = document.getElementById("${selectObjectId}"); + <#if parameters.optiontransferselectIds.get(selectObjectId)??> + <#assign selectTagHeaderKey = parameters.optiontransferselectIds.get(selectObjectId)/> + selectAllOptionsExceptSome(selectObj, "key", "${selectTagHeaderKey}"); + <#else> + selectAllOptionsExceptSome(selectObj, "key", ""); + </#if> + }, true); + </#list> +</#if> +<#if (parameters.inputtransferselectIds?if_exists?size > 0)> + var containingForm = document.getElementById("${parameters.id}"); + <#assign selectObjIds = parameters.inputtransferselectIds.keySet() /> + <#list selectObjIds as selectObjectId> + StrutsUtils.addEventListener(containingForm, "submit", + function(evt) { + var selectObj = document.getElementById("${selectObjectId}"); + <#if parameters.inputtransferselectIds.get(selectObjectId)??> + <#assign selectTagHeaderKey = parameters.inputtransferselectIds.get(selectObjectId)/> + selectAllOptionsExceptSome(selectObj, "key", "${selectTagHeaderKey}"); + <#else> + selectAllOptionsExceptSome(selectObj, "key", ""); + </#if> + }, true); + </#list> +</#if> +<#if (parameters.optiontransferselectDoubleIds?if_exists?size > 0)> + var containingForm = document.getElementById("${parameters.id}"); + <#assign selectDoubleObjIds = parameters.optiontransferselectDoubleIds.keySet() /> + <#list selectDoubleObjIds as selectObjId> + StrutsUtils.addEventListener(containingForm, "submit", + function(evt) { + var selectObj = document.getElementById("${selectObjId}"); + <#if parameters.optiontransferselectDoubleIds.get(selectObjId)??> + <#assign selectTagHeaderKey = parameters.optiontransferselectDoubleIds.get(selectObjId)/> + selectAllOptionsExceptSome(selectObj, "key", "${selectTagHeaderKey}"); + <#else> + selectAllOptionsExceptSome(selectObj, "key", ""); + </#if> + }, true); + </#list> +</#if> + + +<#-- + Enable auto-select of all elements of updownselect tag upon its containing form + submission +--> +<#if (parameters.updownselectIds?if_exists?size > 0)> + var containingForm = document.getElementById("${parameters.id}"); + <#assign tmpIds = parameters.updownselectIds.keySet() /> + <#list tmpIds as tmpId> + StrutsUtils.addEventListener(containingForm, "submit", + function(evt) { + var updownselectObj = document.getElementById("${tmpId}"); + <#if parameters.updownselectIds.get(tmpId)??> + <#assign tmpHeaderKey = parameters.updownselectIds.get(tmpId) /> + selectAllOptionsExceptSome(updownselectObj, "key", "${tmpHeaderKey}"); + <#else> + selectAllOptionsExceptSome(updownselectObj, "key", ""); + </#if> + }, true); + </#list> +</#if> +</script> +</#if> + + +<#-- + Code that will add javascript needed for tooltips +--><#t/> +<#if (parameters.hasTooltip?default(false))><#t/> + <#lt/><!-- javascript that is needed for tooltips --> + <#lt/><script type="text/javascript" src='<@s.url value="/struts/domTT.js" includeParams="none" encode="false" />'></script> + <#lt/><link rel="stylesheet" type="text/css" href="<@s.url value="/struts/domTT.css" includeParams="none" encode="false" />"/> + +</#if><#t/> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/form-common.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/form-common.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/form-common.ftl new file mode 100644 index 0000000..9b46381 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/form-common.ftl @@ -0,0 +1,67 @@ +<#-- +/* + * $Id: form.ftl 590812 2007-10-31 20:32:54Z apetrelli $ + * + * 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. + */ +--> +<#if (parameters.validate?default(false) == false)><#rt/> + <#if parameters.onsubmit??><#rt/> + ${tag.addParameter('onsubmit', "${parameters.onsubmit}") } + </#if> +</#if> +<form<#rt/> +<#if parameters.id??> + id="${parameters.id?html}"<#rt/> +</#if> +<#if parameters.name??> + name="${parameters.name?html}"<#rt/> +</#if> +<#if parameters.onsubmit??> + onsubmit="${parameters.onsubmit?html}"<#rt/> +</#if> +<#if parameters.onreset??> + onreset="${parameters.onreset?html}"<#rt/> +</#if> +<#if parameters.action??> + action="${parameters.action?html}"<#rt/> +</#if> +<#if parameters.target??> + target="${parameters.target?html}"<#rt/> +</#if> +<#if parameters.method??> + method="${parameters.method?html}"<#rt/> +<#else> + method="post"<#rt/> +</#if> +<#if parameters.enctype??> + enctype="${parameters.enctype?html}"<#rt/> +</#if> +<#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> +</#if> +<#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> +</#if> +<#if parameters.title??> + title="${parameters.title?html}"<#rt/> +</#if> +<#if parameters.acceptcharset??> + accept-charset="${parameters.acceptcharset?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/form.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/form.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/form.ftl new file mode 100644 index 0000000..f02eea9 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/form.ftl @@ -0,0 +1,27 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/form-common.ftl" /> +<#if parameters.onreset??> + onreset="${parameters.onreset?html}"<#rt/> +</#if> +> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/head.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/head.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/head.ftl new file mode 100644 index 0000000..03c3940 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/head.ftl @@ -0,0 +1,23 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<script src="${base}/struts/utils.js" type="text/javascript"></script> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/hidden.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/hidden.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/hidden.ftl new file mode 100644 index 0000000..4f91237 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/hidden.ftl @@ -0,0 +1,41 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<input type="hidden"<#rt/> + name="${parameters.name?default("")?html}"<#rt/> +<#if parameters.nameValue??> + value="<@s.property value="parameters.nameValue"/>"<#rt/> +</#if> +<#if parameters.id??> + id="${parameters.id?html}"<#rt/> +</#if> +<#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> +</#if> +<#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> +</#if> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +/> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/inputtransferselect.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/inputtransferselect.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/inputtransferselect.ftl new file mode 100644 index 0000000..610eeb2 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/inputtransferselect.ftl @@ -0,0 +1,124 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#if !stack.findValue("#inputtransferselect_js_included")??><#t/> + <script type="text/javascript" src="<@s.url value="/struts/inputtransferselect.js" encode='false' includeParams='none'/>"></script> + <#assign temporaryVariable = stack.setValue("#inputtransferselect_js_included", "true") /><#t/> +</#if><#t/> +<table border="0"> +<tr> +<td> +<#if parameters.leftTitle??><#t/> + <label for="leftTitle">${parameters.leftTitle}</label><br /> +</#if><#t/> + + +<input type="text"<#rt/> + name="${parameters.name?default("")?html}_input"<#rt/> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> +<#if parameters.readonly?default(false)> + readonly="readonly"<#rt/> +</#if> +<#if parameters.tabindex??> + tabindex="${parameters.tabindex?html}"<#rt/> +</#if> +<#if parameters.id??> + id="${parameters.id?html}_input"<#rt/> +</#if> +<#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> +</#if> +<#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> +</#if> +<#if parameters.title??> + title="${parameters.title?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> +/> + + +</td> +<td valign="middle" align="center"> + <#assign addLabel=parameters.addLabel?default("->")?html /><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addLabel}" onclick="addOption(document.getElementById('${parameters.id?html}_input'), document.getElementById('${parameters.id?html}'))" /><br /><br /> + <#t/> + <#assign removeLabel=parameters.removeLabel?default("<-")?html /><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${removeLabel}" onclick="removeOptions(document.getElementById('${parameters.id?html}'))" /><br /><br /> + <#t/> + <#assign removeAllLabel=parameters.removeAllLabel?default("<<--")?html /><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${removeAllLabel}" onclick="removeAllOptions(document.getElementById('${parameters.id?html}'))" /><br /><br /> +</td> +<td> +<#if parameters.rightTitle??><#t/> + <label for="rightTitle">${parameters.rightTitle}</label><br /> +</#if><#t/> +<#include "/${parameters.templateDir}/simple/select.ftl" /> +<#if parameters.allowUpDown?default(true)> +<input type="button" +<#if parameters.headerKey??> + onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', '${parameters.headerKey}');" +<#else> + onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', '');" +</#if> +<#if parameters.downLabel??> + value="${parameters.downLabel?html}" +</#if> +/> +<input type="button" +<#if parameters.headerKey??> + onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', '${parameters.headerKey}');" +<#else> + onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', '');" +</#if> +<#if parameters.upLabel??> + value="${parameters.upLabel?html}" +</#if> +/> +</#if> +</td> +</tr> +</table> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/label.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/label.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/label.ftl new file mode 100644 index 0000000..53524d4 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/label.ftl @@ -0,0 +1,45 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<label<#rt/> +<#if parameters.id??> + id="${parameters.id?html}"<#rt/> +</#if> +<#if parameters.cssClass??> + class="${parameters.cssClass?html}"<#rt/> +</#if> +<#if parameters.cssStyle??> + style="${parameters.cssStyle?html}"<#rt/> +</#if> +<#if parameters.title??> + title="${parameters.title?html}"<#rt/> +</#if> +<#if parameters.for??> + for="${parameters.for?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +><#rt/> +<#if parameters.nameValue??> +<@s.property value="parameters.nameValue"/><#t/> +</#if> +</label> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/optgroup.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/optgroup.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/optgroup.ftl new file mode 100644 index 0000000..6d503b7 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/optgroup.ftl @@ -0,0 +1,51 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#if parameters.optGroupInternalListUiBeanList??> +<#assign optGroupInternalListUiBeans=parameters.optGroupInternalListUiBeanList /> +<#list optGroupInternalListUiBeans as optGroupInternalListUiBean> +<optgroup + <#if optGroupInternalListUiBean.parameters.label??> + label="${optGroupInternalListUiBean.parameters.label}" + </#if> + <#if optGroupInternalListUiBean.parameters.disabled?default(false)> + disabled="disabled" + </#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +> + +<#list optGroupInternalListUiBean.parameters.list as optGroupBean> +<#assign trash=stack.push(optGroupBean) /> + <#assign tmpKey=stack.findValue(optGroupInternalListUiBean.parameters.listKey) /> + <#assign tmpValue=stack.findValue(optGroupInternalListUiBean.parameters.listValue) /> + <#assign tmpKeyStr = tmpKey.toString() /> + <option value="${tmpKeyStr?html}" + <#if tag.contains(parameters.nameValue, tmpKeyStr) == true> + selected="selected" + </#if> + >${tmpValue?html} + </option> +<#assign trash=stack.pop() /> +</#list> +</optgroup> +</#list> +</#if> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/optiontransferselect.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/optiontransferselect.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/optiontransferselect.ftl new file mode 100644 index 0000000..62136f7 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/optiontransferselect.ftl @@ -0,0 +1,301 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<#if !stack.findValue("#optiontransferselect_js_included")??><#t/> + <script type="text/javascript" src="<@s.url value="/struts/optiontransferselect.js" encode='false' includeParams='none'/>"></script> + <#assign temporaryVariable = stack.setValue("#optiontransferselect_js_included", "true") /><#t/> +</#if><#t/> +<table border="0"> +<tr> +<td> +<#if parameters.leftTitle??><#t/> + <label for="leftTitle">${parameters.leftTitle}</label><br /> +</#if><#t/> +<#include "/${parameters.templateDir}/simple/select.ftl" /> +<#if parameters.allowUpDownOnLeft?default(true)> +<input type="button" + onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', <#if parameters.headerKey??>'${parameters.headerKey}'<#else>''</#if>);<#if parameters.upDownOnLeftOnclick?has_content>${parameters.upDownOnLeftOnclick};</#if>" +<#if parameters.leftDownLabel??> + value="${parameters.leftDownLabel?html}" +</#if> +/> +<input type="button" + onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', <#if parameters.headerKey??>'${parameters.headerKey}'<#else>''</#if>);<#if parameters.upDownOnLeftOnclick?has_content>${parameters.upDownOnLeftOnclick};</#if>" +<#if parameters.leftUpLabel??> + value="${parameters.leftUpLabel?html}" +</#if> +/> +</#if> + +</td> +<td valign="middle" align="center"> + <#if parameters.allowAddToLeft?default(true)><#t/> + <#assign addToLeftLabel = parameters.addToLeftLabel?default("<-")?html/><#t/> + <#if parameters.doubleHeaderKey??><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addToLeftLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '${parameters.doubleHeaderKey}', '');<#if parameters.addToLeftOnclick?has_content>${parameters.addToLeftOnclick};</#if>" /><br /><br /> + <#else><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addToLeftLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '');<#if parameters.addToLeftOnclick?has_content>${parameters.addToLeftOnclick};</#if>" /><br /><br /> + </#if><#t/> + </#if><#t/> + <#if parameters.allowAddToRight?default(true)><#t/> + <#assign addToRightLabel=parameters.addToRightLabel?default("->")?html /><#t/> + <#if parameters.headerKey??><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addToRightLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '${parameters.headerKey}', '');<#if parameters.addToRightOnclick?has_content>${parameters.addToRightOnclick};</#if>" /><br /><br /> + <#else><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addToRightLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '');<#if parameters.addToRightOnclick?has_content>${parameters.addToRightOnclick};</#if>" /><br /><br /> + </#if><#t/> + </#if><#t/> + <#if parameters.allowAddAllToLeft?default(true)><#t/> + <#assign addAllToLeftLabel=parameters.addAllToLeftLabel?default("<<--")?html /><#t/> + <#if parameters.doubleHeaderKey??><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle}" + </#if><#t/> + value="${addAllToLeftLabel}" onclick="moveAllOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '${parameters.doubleHeaderKey}', '');<#if parameters.addAllToLeftOnclick?has_content>${parameters.addAllToLeftOnclick};</#if>" /><br /><br /> + <#else><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addAllToLeftLabel}" onclick="moveAllOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '');<#if parameters.addAllToLeftOnclick?has_content>${parameters.addAllToLeftOnclick};</#if>" /><br /><br /> + </#if><#t/> + </#if><#t/> + <#if parameters.allowAddAllToRight?default(true)><#t/> + <#assign addAllToRightLabel=parameters.addAllToRightLabel?default("-->>")?html /><#t/> + <#if parameters.headerKey??><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addAllToRightLabel}" onclick="moveAllOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '${parameters.headerKey}', '');<#if parameters.addAllToRightOnclick?has_content>${parameters.addAllToRightOnclick};</#if>" /><br /><br /> + <#else><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${addAllToRightLabel}" onclick="moveAllOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '');<#if parameters.addAllToRightOnclick?has_content>${parameters.addAllToRightOnclick};</#if>" /><br /><br /> + </#if><#t/> + </#if><#t/> + <#if parameters.allowSelectAll?default(true)><#t/> + <#assign selectAllLabel=parameters.selectAllLabel?default("<*>")?html /><#t/> + <#if parameters.headerKey?? && parameters.doubleHeaderKey??><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${selectAllLabel}" onclick="selectAllOptionsExceptSome(document.getElementById('${parameters.id?html}'), 'key', '${parameters.headerKey}');selectAllOptionsExceptSome(document.getElementById('${parameters.doubleId?html}'), 'key', '${parameters.doubleHeaderKey}');<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br /> + <#elseif parameters.headerKey??><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${selectAllLabel}" onclick="selectAllOptionsExceptSome(document.getElementById('${parameters.id?html}'), 'key', '${parameters.headerKey}');selectAllOptions(document.getElementById('${parameters.doubleId?html}'));<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br /> + <#elseif parameters.doubleHeaderKey??><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${selectAllLabel}" onclick="selectAllOptions(document.getElementById('${parameters.id?html}'));selectAllOptionsExceptSome(document.getElementById('${parameters.doubleId?html}'), 'key', '${parameters.doubleHeaderKey}');<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br /> + <#else><#t/> + <input type="button" + <#if parameters.buttonCssClass??><#t/> + class="${parameters.buttonCssClass?html}" + </#if><#t/> + <#if parameters.buttonCssStyle??><#t/> + style="${parameters.buttonCssStyle?html}" + </#if><#t/> + value="${selectAllLabel}" onclick="selectAllOptions(document.getElementById('${parameters.id?html}'));selectAllOptions(document.getElementById('${parameters.doubleId?html}'));<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br /> + </#if><#t/> + </#if><#t/> +</td> +<td> +<#if parameters.rightTitle??><#t/> + <label for="rightTitle">${parameters.rightTitle}</label><br /> +</#if><#t/> +<select + name="${parameters.doubleName?default("")?html}" + <#if parameters.get("doubleSize")??><#t/> + size="${parameters.get("doubleSize")?html}" + </#if><#t/> + <#if parameters.doubleDisabled?default(false)><#t/> + disabled="disabled" + </#if><#t/> + <#if parameters.doubleMultiple?default(false)><#t/> + multiple="multiple" + </#if><#t/> + <#if parameters.doubleTabindex??><#t/> + tabindex="${parameters.tabindex?html}" + </#if><#t/> + <#if parameters.doubleId??><#t/> + id="${parameters.doubleId?html}" + </#if><#t/> + <#if parameters.doubleCss??><#t/> + class="${parameters.doubleCss?html}" + </#if><#t/> + <#if parameters.doubleStyle??><#t/> + style="${parameters.doubleStyle?html}" + </#if><#t/> + <#if parameters.doubleOnclick??><#t/> + onclick="${parameters.doubleOnclick?html}" + </#if><#t/> + <#if parameters.doubleOndblclick??><#t/> + ondblclick="${parameters.doubleOndblclick?html}" + </#if><#t/> + <#if parameters.doubleOnmousedown??><#t/> + onmousedown="${parameters.doubleOnmousedown?html}" + </#if><#t/> + <#if parameters.doubleOnmouseup??><#t/> + onmouseup="${parameters.doubleOnmouseup?html}" + </#if><#t/> + <#if parameters.doubleOnmousemove??><#t/> + onmousemove="${parameters.doubleOnmousemove?html}" + </#if><#t/> + <#if parameters.doubleOnmouseover??><#t/> + onmouseover="${parameters.doubleOnmouseover?html}" + </#if><#t/> + <#if parameters.doubleOnmouseout??><#t/> + onmouseout="${parameters.doubleOnmouseout?html}" + </#if><#t/> + <#if parameters.doubleOnfocus??><#t/> + onfocus="${parameters.doubleOnfocus?html}" + </#if><#t/> + <#if parameters.doubleOnblur??><#t/> + onblur="${parameters.doubleOnblur?html}" + </#if><#t/> + <#if parameters.doubleOnkeypress??><#t/> + onkeypress="${parameters.doubleOnkeypress?html}" + </#if><#t/> + <#if parameters.doubleOnKeydown??><#t/> + onkeydown="${parameters.doubleOnkeydown?html}" + </#if><#t/> + <#if parameters.doubleOnkeyup??><#t/> + onkeyup="${parameters.doubleOnkeyup?html}" + </#if><#t/> + <#if parameters.doubleOnselect??><#t/> + onselect="${parameters.doubleOnselect?html}" + </#if><#t/> + <#if parameters.doubleOnchange??><#t/> + onchange="${parameters.doubleOnchange?html}" + </#if><#t/> + <#if parameters.doubleAccesskey??><#t/> + accesskey="${parameters.doubleAccesskey?html}" + </#if> +> + <#if parameters.doubleHeaderKey?? && parameters.doubleHeaderValue??><#t/> + <option value="${parameters.doubleHeaderKey?html}">${parameters.doubleHeaderValue?html}</option> + </#if><#t/> + <#if parameters.doubleEmptyOption?default(false)><#t/> + <option value=""></option> + </#if><#t/> + <@s.iterator value="parameters.doubleList"><#t/> + <#if parameters.doubleListKey??><#t/> + <#assign doubleItemKey = stack.findValue(parameters.doubleListKey) /><#t/> + <#else><#t/> + <#assign doubleItemKey = stack.findValue('top') /><#t/> + </#if><#t/> + <#assign doubleItemKeyStr = doubleItemKey.toString() /><#t/> + <#if parameters.doubleListValue??><#t/> + <#assign doubleItemValue = stack.findString(parameters.doubleListValue)!"" /><#t/> + <#else><#t/> + <#assign doubleItemValue = stack.findString('top') /><#t/> + </#if><#t/> + <option value="${doubleItemKeyStr?html}"<#rt/> + <#if tag.contains(parameters.doubleNameValue, doubleItemKey)><#t/> + selected="selected"<#rt/> + </#if><#t/> + >${doubleItemValue?html}</option><#lt/> + </@s.iterator><#t/> +</select> +<#if parameters.doubleMultiple?default(false)> +<input type="hidden" id="__multiselect_${parameters.doubleId?html}" name="__multiselect_${parameters.doubleName?default("")?html}" value=""<#rt/> +<#if parameters.doubleDisabled?default(false)> + disabled="disabled"<#rt/> +</#if> + /> +</#if> +<#if parameters.allowUpDownOnRight?default(true)> +<input type="button" + onclick="moveOptionDown(document.getElementById('${parameters.doubleId}'), 'key', <#if parameters.doubleHeaderKey??>'${parameters.doubleHeaderKey}'<#else>''</#if>);<#if parameters.upDownOnRightOnclick?has_content>${parameters.upDownOnRightOnclick};</#if>" +<#if parameters.rightDownLabel??> + value="${parameters.rightDownLabel?html}" +</#if> +/> +<input type="button" + onclick="moveOptionUp(document.getElementById('${parameters.doubleId}'), 'key', <#if parameters.doubleHeaderKey??>'${parameters.doubleHeaderKey}'<#else>''</#if>);<#if parameters.upDownOnRightOnclick?has_content>${parameters.upDownOnRightOnclick};</#if>" +<#if parameters.rightUpLabel??> + value="${parameters.rightUpLabel?html}" +</#if> +/> +</#if> +</td> +</tr> +</table> http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/password.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/password.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/password.ftl new file mode 100644 index 0000000..b036b92 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/password.ftl @@ -0,0 +1,53 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<input type="password"<#rt/> + name="${parameters.name?default("")?html}"<#rt/> +<#if parameters.get("size")??> + size="${parameters.get("size")?html}"<#rt/> +</#if> +<#if parameters.maxlength??> + maxlength="${parameters.maxlength?html}"<#rt/> +</#if> +<#if parameters.nameValue?? && parameters.showPassword?default(false)> + value="<@s.property value="parameters.nameValue"/>"<#rt/> +</#if> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> +<#if parameters.readonly?default(false)> + readonly="readonly"<#rt/> +</#if> +<#if parameters.tabindex??> + tabindex="${parameters.tabindex?html}"<#rt/> +</#if> +<#if parameters.id??> + id="${parameters.id?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /> +<#if parameters.title??> + title="${parameters.title?html}"<#rt/> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +/> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/radiomap.ftl ---------------------------------------------------------------------- diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/radiomap.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/radiomap.ftl new file mode 100644 index 0000000..34cf1b1 --- /dev/null +++ b/themes-override/src/main/webapp/WEB-INF/template/simple/radiomap.ftl @@ -0,0 +1,94 @@ +<#-- +/* + * $Id$ + * + * 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. + */ +--> +<@s.iterator value="parameters.list"> + <#if parameters.listKey??> + <#assign itemKey = stack.findValue(parameters.listKey)/> + <#else> + <#assign itemKey = stack.findValue('top')/> + </#if> + <#assign itemKeyStr = itemKey.toString() /> + <#if parameters.listValue??> + <#assign itemValue = stack.findString(parameters.listValue)/> + <#else> + <#assign itemValue = stack.findString('top')/> + </#if> + <#if parameters.listCssClass??> + <#if stack.findString(parameters.listCssClass)??> + <#assign itemCssClass= stack.findString(parameters.listCssClass)/> + <#else> + <#assign itemCssClass = ''/> + </#if> + </#if> + <#if parameters.listCssStyle??> + <#if stack.findString(parameters.listCssStyle)??> + <#assign itemCssStyle= stack.findString(parameters.listCssStyle)/> + <#else> + <#assign itemCssStyle = ''/> + </#if> + </#if> + <#if parameters.listTitle??> + <#if stack.findString(parameters.listTitle)??> + <#assign itemTitle= stack.findString(parameters.listTitle)/> + <#else> + <#assign itemTitle = ''/> + </#if> + </#if> +<input type="radio"<#rt/> +<#if parameters.name??> + name="${parameters.name?html}"<#rt/> +</#if> + id="${parameters.id?html}${itemKeyStr?html}"<#rt/> +<#if tag.contains(parameters.nameValue?default(''), itemKeyStr)> + checked="checked"<#rt/> +</#if> +<#if itemKey??> + value="${itemKeyStr?html}"<#rt/> +</#if> +<#if parameters.disabled?default(false)> + disabled="disabled"<#rt/> +</#if> +<#if parameters.tabindex??> + tabindex="${parameters.tabindex?html}"<#rt/> +</#if> +<#if itemCssClass?if_exists != ""> + class="${itemCssClass?html}"<#rt/> +</#if> +<#if itemCssStyle?if_exists != ""> + style="${itemCssStyle?html}"<#rt/> +</#if> +<#if itemTitle?if_exists != ""> + title="${itemTitle?html}"<#rt/> +<#else> + <#if parameters.title??> + title="${parameters.title?html}"<#rt/> + </#if> +</#if> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> +<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" /> +/><#rt/> +<label for="${parameters.id?html}${itemKeyStr?html}"<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl"/>><#rt/> + ${itemValue}<#t/> +</label> +</@s.iterator> \ No newline at end of file
