This is an automated email from the ASF dual-hosted git repository. danwatford pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push: new c7bdaf1605 Improved: MacroFormRenderer refactoring of datefind fields (OFBIZ-12712) c7bdaf1605 is described below commit c7bdaf160599187f87a8a90e9f39e6aa0dec800c Author: Daniel Watford <dan...@watfordconsulting.com> AuthorDate: Fri Nov 18 17:59:38 2022 +0000 Improved: MacroFormRenderer refactoring of datefind fields (OFBIZ-12712) Part of the OFBIZ-11456 MacroFormRenderer refactoring effort. Rather than MacroFormRenderer producing and evaulating FTL strings, it now uses RenderableFtlElementsBuilder to create RenderableFtlMacroCall objects for datefind fields which are then passed to an FtlWriter for evaluation. Removed unused parameters from the renderDateFindField FTL macro definition. Set defaults for several parameters, simplifying generation of macro calls. Synchronised the parameter list of rendateDateFindField macros across all output types - i.e. html, xml, text, etc. --- .../widget/content/StaticContentUrlProvider.java | 63 ++++++++ .../widget/renderer/macro/MacroFormRenderer.java | 158 +-------------------- .../macro/RenderableFtlFormElementsBuilder.java | 107 +++++++++++++- .../renderer/macro/MacroFormRendererTest.java | 23 --- ...nderableFtlFormElementsBuilderDatetimeTest.java | 4 + .../RenderableFtlFormElementsBuilderTest.java | 4 + .../template/macro/CsvFormMacroLibrary.ftl | 2 +- .../template/macro/FoFormMacroLibrary.ftl | 2 +- .../template/macro/HtmlFormMacroLibrary.ftl | 6 +- .../template/macro/TextFormMacroLibrary.ftl | 2 +- .../template/macro/XlsFormMacroLibrary.ftl | 2 +- .../template/macro/XmlFormMacroLibrary.ftl | 2 +- 12 files changed, 191 insertions(+), 184 deletions(-) diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/content/StaticContentUrlProvider.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/content/StaticContentUrlProvider.java new file mode 100644 index 0000000000..213b10f830 --- /dev/null +++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/content/StaticContentUrlProvider.java @@ -0,0 +1,63 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.apache.ofbiz.widget.content; + +import org.apache.ofbiz.webapp.taglib.ContentUrlTag; + +import javax.servlet.http.HttpServletRequest; + +/** + * Generates URL strings for addressing static content based properties configured on an HttpRequest's website or + * configured properties in url.properties. + * + * @see ContentUrlTag + */ +public class StaticContentUrlProvider { + // HttpServletRequest used to find the URL of the current website. + private final HttpServletRequest request; + + // Cached copy of the URL prefix to use for static content. + private String prefix; + + /** + * Create a new URL provider for given HttpServletRequest's website. + * + * @param request The HttpServletRequest request to look up the website for. + */ + public StaticContentUrlProvider(final HttpServletRequest request) { + this.request = request; + } + + /** + * Given a path to a static content resource, return the URL string that a client can use to retrieve that resource. + * + * @param resourcePath Path to static resource + * @return String representation of the URL which can be used to retrieve the static resource. + */ + public String pathAsContentUrlString(final String resourcePath) { + return getPrefix() + resourcePath; + } + + private String getPrefix() { + if (prefix == null) { + this.prefix = ContentUrlTag.getContentPrefix(this.request); + } + return prefix; + } +} diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java index a97bf72fa3..06042ad5e8 100644 --- a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java +++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java @@ -52,6 +52,7 @@ import org.apache.ofbiz.security.CsrfUtil; import org.apache.ofbiz.webapp.control.RequestHandler; import org.apache.ofbiz.webapp.taglib.ContentUrlTag; import org.apache.ofbiz.widget.WidgetWorker; +import org.apache.ofbiz.widget.content.StaticContentUrlProvider; import org.apache.ofbiz.widget.model.CommonWidgetModels; import org.apache.ofbiz.widget.model.FieldInfo; import org.apache.ofbiz.widget.model.ModelForm; @@ -125,9 +126,10 @@ public final class MacroFormRenderer implements FormStringRenderer { this.javaScriptEnabled = UtilHttp.isJavaScriptEnabled(request); internalEncoder = UtilCodec.getEncoder("string"); this.ftlWriter = ftlWriter != null ? ftlWriter : new FtlWriter(macroLibraryPath, this.visualTheme); + final StaticContentUrlProvider staticContentUrlProvider = new StaticContentUrlProvider(request); this.renderableFtlFormElementsBuilder = renderableFtlFormElementsBuilder != null ? renderableFtlFormElementsBuilder - : new RenderableFtlFormElementsBuilder(this.visualTheme, rh, request, response); + : new RenderableFtlFormElementsBuilder(this.visualTheme, rh, request, response, staticContentUrlProvider); } private static String encodeDoubleQuotes(String htmlString) { @@ -1579,158 +1581,10 @@ public final class MacroFormRenderer implements FormStringRenderer { } @Override - public void renderDateFindField(Appendable writer, Map<String, Object> context, DateFindField dateFindField) throws IOException { - ModelFormField modelFormField = dateFindField.getModelFormField(); - Locale locale = (Locale) context.get("locale"); - String opEquals = UtilProperties.getMessage("conditionalUiLabels", "equals", locale); - String opGreaterThan = UtilProperties.getMessage("conditionalUiLabels", "greater_than", locale); - String opSameDay = UtilProperties.getMessage("conditionalUiLabels", "same_day", locale); - String opGreaterThanFromDayStart = UtilProperties.getMessage("conditionalUiLabels", "greater_than_from_day_start", locale); - String opLessThan = UtilProperties.getMessage("conditionalUiLabels", "less_than", locale); - String opUpToDay = UtilProperties.getMessage("conditionalUiLabels", "up_to_day", locale); - String opUpThruDay = UtilProperties.getMessage("conditionalUiLabels", "up_thru_day", locale); - String opIsEmpty = UtilProperties.getMessage("conditionalUiLabels", "is_empty", locale); - String conditionGroup = modelFormField.getConditionGroup(); - Map<String, String> uiLabelMap = UtilGenerics.cast(context.get("uiLabelMap")); - if (uiLabelMap == null) { - Debug.logWarning("Could not find uiLabelMap in context", MODULE); - } - String localizedInputTitle = ""; - String localizedIconTitle = ""; - String className = ""; - String alert = "false"; - if (UtilValidate.isNotEmpty(modelFormField.getWidgetStyle())) { - className = modelFormField.getWidgetStyle(); - if (modelFormField.shouldBeRed(context)) { - alert = "true"; - } - } - String name = modelFormField.getParameterName(context); - // the default values for a timestamp - int size = 25; - int maxlength = 30; - if (dateFindField.isDateType()) { - maxlength = 10; - size = maxlength; - if (uiLabelMap != null) { - localizedInputTitle = uiLabelMap.get("CommonFormatDate"); - } - } else if (dateFindField.isTimeType()) { - maxlength = 8; - size = maxlength; - if (uiLabelMap != null) { - localizedInputTitle = uiLabelMap.get("CommonFormatTime"); - } - } else { - if (uiLabelMap != null) { - localizedInputTitle = uiLabelMap.get("CommonFormatDateTime"); - } - } - String value = modelFormField.getEntry(context, dateFindField.getDefaultValue(context)); - if (value == null) { - value = ""; - } - // search for a localized label for the icon - if (uiLabelMap != null) { - localizedIconTitle = uiLabelMap.get("CommonViewCalendar"); - } - String formName = ""; - String defaultDateTimeString = ""; - StringBuilder imgSrc = new StringBuilder(); - // add calendar pop-up button and seed data IF this is not a "time" type date-find - if (!dateFindField.isTimeType()) { - ModelForm modelForm = modelFormField.getModelForm(); - formName = FormRenderer.getCurrentFormName(modelForm, context); - defaultDateTimeString = UtilHttp.encodeBlanks(modelFormField.getEntry(context, dateFindField.getDefaultDateTimeString(context))); - this.appendContentUrl(imgSrc, "/images/cal.gif"); - } - String defaultOptionFrom = dateFindField.getDefaultOptionFrom(context); - String defaultOptionThru = dateFindField.getDefaultOptionThru(context); - String value2 = modelFormField.getEntry(context); - if (value2 == null) { - value2 = ""; - } - if (context.containsKey("parameters")) { - Map<String, Object> parameters = UtilGenerics.cast(context.get("parameters")); - if (parameters.containsKey(name + "_fld0_value")) { - value = (String) parameters.get(name + "_fld0_value"); - } - if (parameters.containsKey(name + "_fld1_value")) { - value2 = (String) parameters.get(name + "_fld1_value"); - } - } + public void renderDateFindField(Appendable writer, Map<String, Object> context, DateFindField dateFindField) { + writeFtlElement(writer, renderableFtlFormElementsBuilder.dateFind(context, dateFindField)); - String titleStyle = ""; - if (UtilValidate.isNotEmpty(modelFormField.getTitleStyle())) { - titleStyle = modelFormField.getTitleStyle(); - } - String id = modelFormField.getCurrentContainerId(context); - String tabindex = modelFormField.getTabindex(); - boolean disabled = modelFormField.getDisabled(context); - StringWriter sr = new StringWriter(); - sr.append("<@renderDateFindField "); - sr.append(" className=\""); - sr.append(className); - sr.append("\" alert=\""); - sr.append(alert); - sr.append("\" id=\""); - sr.append(id); - sr.append("\" name=\""); - sr.append(name); - sr.append("\" localizedInputTitle=\""); - sr.append(localizedInputTitle); - sr.append("\" value=\""); - sr.append(value); - sr.append("\" value2=\""); - sr.append(value2); - sr.append("\" size=\""); - sr.append(Integer.toString(size)); - sr.append("\" maxlength=\""); - sr.append(Integer.toString(maxlength)); - sr.append("\" isDateType="); - sr.append(Boolean.toString(dateFindField.isDateType())); - sr.append(" isTimeType="); - sr.append(Boolean.toString(dateFindField.isTimeType())); - sr.append(" formName=\""); - sr.append(formName); - sr.append("\" defaultDateTimeString=\""); - sr.append(defaultDateTimeString); - sr.append("\" imgSrc=\""); - sr.append(imgSrc.toString()); - sr.append("\" conditionGroup=\""); - sr.append(conditionGroup); - sr.append("\" localizedIconTitle=\""); - sr.append(localizedIconTitle); - sr.append("\" titleStyle=\""); - sr.append(titleStyle); - sr.append("\" defaultOptionFrom=\""); - sr.append(defaultOptionFrom); - sr.append("\" defaultOptionThru=\""); - sr.append(defaultOptionThru); - sr.append("\" opEquals=\""); - sr.append(opEquals); - sr.append("\" opSameDay=\""); - sr.append(opSameDay); - sr.append("\" opGreaterThanFromDayStart=\""); - sr.append(opGreaterThanFromDayStart); - sr.append("\" opGreaterThan=\""); - sr.append(opGreaterThan); - sr.append("\" opGreaterThan=\""); - sr.append(opGreaterThan); - sr.append("\" opLessThan=\""); - sr.append(opLessThan); - sr.append("\" opUpToDay=\""); - sr.append(opUpToDay); - sr.append("\" opUpThruDay=\""); - sr.append(opUpThruDay); - sr.append("\" opIsEmpty=\""); - sr.append(opIsEmpty); - sr.append("\" tabindex=\""); - sr.append(tabindex); - sr.append("\" disabled="); - sr.append(Boolean.toString(disabled)); - sr.append(" />"); - executeMacro(writer, locale, sr.toString()); + final ModelFormField modelFormField = dateFindField.getModelFormField(); this.appendTooltip(writer, context, modelFormField); } diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilder.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilder.java index db0725f96e..ee72f7eeb6 100644 --- a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilder.java +++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilder.java @@ -28,6 +28,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.UUID; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -41,10 +42,12 @@ import org.apache.ofbiz.base.util.UtilFormatOut; import org.apache.ofbiz.base.util.UtilGenerics; import org.apache.ofbiz.base.util.UtilHttp; import org.apache.ofbiz.base.util.UtilMisc; +import org.apache.ofbiz.base.util.UtilProperties; import org.apache.ofbiz.base.util.UtilValidate; import org.apache.ofbiz.base.util.string.FlexibleStringExpander; import org.apache.ofbiz.webapp.control.RequestHandler; import org.apache.ofbiz.widget.WidgetWorker; +import org.apache.ofbiz.widget.content.StaticContentUrlProvider; import org.apache.ofbiz.widget.model.ModelForm; import org.apache.ofbiz.widget.model.ModelFormField; import org.apache.ofbiz.widget.model.ModelFormField.ContainerField; @@ -73,12 +76,16 @@ public final class RenderableFtlFormElementsBuilder { private final HttpServletRequest request; private final HttpServletResponse response; + private final StaticContentUrlProvider staticContentUrlProvider; + public RenderableFtlFormElementsBuilder(final VisualTheme visualTheme, final RequestHandler requestHandler, - final HttpServletRequest request, final HttpServletResponse response) { + final HttpServletRequest request, final HttpServletResponse response, + final StaticContentUrlProvider staticContentUrlProvider) { this.visualTheme = visualTheme; this.requestHandler = requestHandler; this.request = request; this.response = response; + this.staticContentUrlProvider = staticContentUrlProvider; } public RenderableFtl tooltip(final Map<String, Object> context, final ModelFormField modelFormField) { @@ -543,6 +550,100 @@ public final class RenderableFtlFormElementsBuilder { return macroCallBuilder.build(); } + public RenderableFtl dateFind(final Map<String, Object> context, final ModelFormField.DateFindField dateFindField) { + final ModelFormField modelFormField = dateFindField.getModelFormField(); + final ModelForm modelForm = modelFormField.getModelForm(); + final String name = modelFormField.getParameterName(context); + + final Locale locale = (Locale) context.get("locale"); + + final Map<String, String> uiLabelMap = UtilGenerics.cast(context.get("uiLabelMap")); + if (uiLabelMap == null) { + Debug.logWarning("Could not find uiLabelMap in context", MODULE); + } + + final Function<String, String> getOpLabel = (label) -> UtilProperties.getMessage("conditionalUiLabels", + label, locale); + + final RenderableFtlMacroCallBuilder macroCallBuilder = RenderableFtlMacroCall.builder() + .name("renderDateFindField") + .stringParameter("name", name) + .stringParameter("id", modelFormField.getCurrentContainerId(context)) + .stringParameter("formName", FormRenderer.getCurrentFormName(modelForm, context)) + .booleanParameter("disabled", modelFormField.getDisabled(context)) + .booleanParameter("isDateType", dateFindField.isDateType()) + .booleanParameter("isTimeType", dateFindField.isTimeType()) + .stringParameter("opEquals", getOpLabel.apply("equals")) + .stringParameter("opSameDay", getOpLabel.apply("same_day")) + .stringParameter("opGreaterThanFromDayStart", getOpLabel.apply("greater_than_from_day_start")) + .stringParameter("opGreaterThan", getOpLabel.apply("greater_than")) + .stringParameter("opLessThan", getOpLabel.apply("less_than")) + .stringParameter("opUpToDay", getOpLabel.apply("up_to_day")) + .stringParameter("opUpThruDay", getOpLabel.apply("up_thru_day")) + .stringParameter("opIsEmpty", getOpLabel.apply("is_empty")) + .stringParameter("tabindex", modelFormField.getTabindex()) + .stringParameter("conditionGroup", modelFormField.getConditionGroup()) + .stringParameter("defaultOptionFrom", dateFindField.getDefaultOptionFrom(context)) + .stringParameter("defaultOptionThru", dateFindField.getDefaultOptionThru(context)); + + macroCallBuilder.booleanParameter("alert", false); + if (UtilValidate.isNotEmpty(modelFormField.getWidgetStyle())) { + macroCallBuilder.stringParameter("className", modelFormField.getWidgetStyle()); + if (modelFormField.shouldBeRed(context)) { + macroCallBuilder.booleanParameter("alert", true); + } + } + + // Set render properties based on the date-finds field's type. + final String localizedInputTitleLabelMapKey; + if (dateFindField.isDateType()) { + macroCallBuilder.intParameter("size", 10) + .intParameter("maxlength", 20); + + localizedInputTitleLabelMapKey = "CommonFormatDate"; + } else if (dateFindField.isTimeType()) { + macroCallBuilder.intParameter("size", 8) + .intParameter("maxlength", 8); + + localizedInputTitleLabelMapKey = "CommonFormatTime"; + } else { + macroCallBuilder.intParameter("size", 25) + .intParameter("maxlength", 30); + + localizedInputTitleLabelMapKey = "CommonFormatDateTime"; + } + + if (uiLabelMap != null) { + // search for a localized label for the icon + macroCallBuilder.stringParameter("localizedInputTitle", uiLabelMap.get(localizedInputTitleLabelMapKey)); + } + + // add calendar pop-up button IF this is not a "time" type date-find + if (!dateFindField.isTimeType()) { + macroCallBuilder.stringParameter("imgSrc", pathAsContentUrl("/images/cal.gif")); + } + + macroCallBuilder.stringParameter("value", + modelFormField.getEntry(context, dateFindField.getDefaultValue(context))) + .stringParameter("value2", modelFormField.getEntry(context)); + + if (context.containsKey("parameters")) { + final Map<String, Object> parameters = UtilGenerics.cast(context.get("parameters")); + if (parameters.containsKey(name + "_fld0_value")) { + macroCallBuilder.stringParameter("value", (String) parameters.get(name + "_fld0_value")); + } + if (parameters.containsKey(name + "_fld1_value")) { + macroCallBuilder.stringParameter("value2", (String) parameters.get(name + "_fld1_value")); + } + } + + if (UtilValidate.isNotEmpty(modelFormField.getTitleStyle())) { + macroCallBuilder.stringParameter("titleStyle", modelFormField.getTitleStyle()); + } + + return macroCallBuilder.build(); + } + public RenderableFtl makeHyperlinkString(final ModelFormField.SubHyperlink subHyperlink, final Map<String, Object> context) { if (subHyperlink == null || !subHyperlink.shouldUse(context)) { @@ -896,4 +997,8 @@ public final class RenderableFtlFormElementsBuilder { targetParams = targetParams.replace("&", "&"); return targetParams; } + + private String pathAsContentUrl(final String path) { + return staticContentUrlProvider.pathAsContentUrlString(path); + } } diff --git a/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRendererTest.java b/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRendererTest.java index 0c508c2cea..ccef82b42b 100644 --- a/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRendererTest.java +++ b/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRendererTest.java @@ -591,29 +591,6 @@ public class MacroFormRendererTest { "value2", "BBB")); } - @Test - public void dateFindFieldMacroRendered(@Mocked ModelFormField modelFormField, - @Mocked ModelFormField.DateFindField dateFindField) throws IOException { - new Expectations() { - { - dateFindField.getModelFormField(); - result = modelFormField; - - modelFormField.getEntry(withNotNull(), withNull()); - result = "2020-01-01"; - - modelFormField.getParameterName(withNotNull()); - result = "FIELDNAME"; - } - }; - - ImmutableMap<String, Object> context = ImmutableMap.of(); - macroFormRenderer.renderDateFindField(appendable, context, dateFindField); - assertAndGetMacroString("renderDateFindField", ImmutableMap.of( - "name", "FIELDNAME", - "value", "2020-01-01")); - } - @Test public void lookupFieldMacroRendered(@Mocked ModelFormField modelFormField, @Mocked ModelFormField.LookupField lookupField) throws IOException { diff --git a/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderDatetimeTest.java b/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderDatetimeTest.java index df577a1e5f..f0a6457c98 100644 --- a/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderDatetimeTest.java +++ b/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderDatetimeTest.java @@ -5,6 +5,7 @@ import mockit.Injectable; import mockit.Mocked; import mockit.Tested; import org.apache.ofbiz.webapp.control.RequestHandler; +import org.apache.ofbiz.widget.content.StaticContentUrlProvider; import org.apache.ofbiz.widget.model.ModelFormField; import org.apache.ofbiz.widget.model.ModelTheme; import org.apache.ofbiz.widget.renderer.VisualTheme; @@ -32,6 +33,9 @@ public class RenderableFtlFormElementsBuilderDatetimeTest { @Injectable private HttpServletResponse response; + @Injectable + private StaticContentUrlProvider staticContentUrlProvider; + @Mocked private HttpSession httpSession; diff --git a/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderTest.java b/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderTest.java index 03f05ccd85..80debaed87 100644 --- a/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderTest.java +++ b/framework/widget/src/test/java/org/apache/ofbiz/widget/renderer/macro/RenderableFtlFormElementsBuilderTest.java @@ -26,6 +26,7 @@ import mockit.Mocked; import mockit.Tested; import org.apache.ofbiz.webapp.control.ConfigXMLReader; import org.apache.ofbiz.webapp.control.RequestHandler; +import org.apache.ofbiz.widget.content.StaticContentUrlProvider; import org.apache.ofbiz.widget.model.ModelForm; import org.apache.ofbiz.widget.model.ModelFormField; import org.apache.ofbiz.widget.model.ModelScreenWidget; @@ -60,6 +61,9 @@ public class RenderableFtlFormElementsBuilderTest { @Injectable private HttpServletResponse response; + @Injectable + private StaticContentUrlProvider staticContentUrlProvider; + @Mocked private HttpSession httpSession; diff --git a/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl b/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl index de1943e253..742737de62 100644 --- a/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl +++ b/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl @@ -100,7 +100,7 @@ under the License. <#macro renderTextFindField name value defaultOption opEquals opBeginsWith opContains opIsEmpty opNotEqual className alert size maxlength autocomplete titleStyle hideIgnoreCase ignCase ignoreCase conditionGroup tabindex><@renderField value /></#macro> -<#macro renderDateFindField className alert id name localizedInputTitle value value2 size maxlength dateType formName defaultDateTimeString imgSrc localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty conditionGroup tabindex><@renderField value /></#macro> +<#macro renderDateFindField id name formName defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty className="" alert=false imgSrc="" value="" isTimeType=false isDateType=false conditionGroup="" localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" tabindex="" disabled=false><@renderField value /></#macro> <#macro renderRangeFindField className alert name value size maxlength autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru conditionGroup tabindex> <@renderField value /> diff --git a/themes/common-theme/template/macro/FoFormMacroLibrary.ftl b/themes/common-theme/template/macro/FoFormMacroLibrary.ftl index 1120231b91..064474c739 100644 --- a/themes/common-theme/template/macro/FoFormMacroLibrary.ftl +++ b/themes/common-theme/template/macro/FoFormMacroLibrary.ftl @@ -124,7 +124,7 @@ under the License. <#macro renderTextFindField name value defaultOption opEquals opBeginsWith opContains opIsEmpty opNotEqual className alert size maxlength autocomplete titleStyle hideIgnoreCase ignCase ignoreCase conditionGroup tabindex><@makeBlock className value/></#macro> -<#macro renderDateFindField className alert id name localizedInputTitle value value2 size maxlength dateType formName defaultDateTimeString imgSrc localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty conditionGroup tabindex> +<#macro renderDateFindField id name formName defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty className="" alert=false imgSrc="" value="" isTimeType=false isDateType=false conditionGroup="" localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" tabindex="" disabled=false> <@makeBlock className value /> </#macro> <#macro renderRangeFindField className alert name value size maxlength autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru conditionGroup tabindex> diff --git a/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl b/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl index 5589324b6e..fba47ab0e5 100644 --- a/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl +++ b/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl @@ -442,7 +442,7 @@ under the License. </#if> </#macro> -<#macro renderDateFindField className alert id name formName value defaultDateTimeString imgSrc localizedIconTitle defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty isTimeType=false isDateType=false conditionGroup="" localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" tabindex="" disabled=false> +<#macro renderDateFindField id name formName defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty className="" alert=false imgSrc="" value="" isTimeType=false isDateType=false conditionGroup="" localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" tabindex="" disabled=false> <#if conditionGroup?has_content> <input type="hidden" name="${name}_grp" value="${conditionGroup}" <@renderDisabled disabled />/> </#if> @@ -455,7 +455,7 @@ under the License. <#local timePicker = "/common/js/node_modules/@chinchilla-software/jquery-ui-timepicker-addon/dist/jquery-ui-timepicker-addon.min.js,/common/js/node_modules/@chinchilla-software/jquery-ui-timepicker-addon/dist/jquery-ui-timepicker-addon.css"/> <#local timePickerLang = Static["org.apache.ofbiz.common.JsLanguageFilesMappingUtil"].getFile("dateTime", .locale)/> <span class="view-calendar"> - <input id="${id}_fld0_value" type="text" <@renderClass className alert /> <@renderDisabled disabled /> + <input id="${id}_fld0_value" type="text" <@renderClass className alert?c /> <@renderDisabled disabled /> <#if name?has_content> name="${name?html}_fld0_value"</#if> <#if localizedInputTitle?has_content> title="${localizedInputTitle}"</#if> <#if value?has_content> value="${value}"</#if> @@ -481,7 +481,7 @@ under the License. </span><#rt/> </#if> <#rt/> - <input id="${id}_fld1_value" type="text" <@renderClass className alert /> <@renderDisabled disabled /> + <input id="${id}_fld1_value" type="text" <@renderClass className alert?c /> <@renderDisabled disabled /> <#if name?has_content> name="${name}_fld1_value"</#if> <#if localizedInputTitle??> title="${localizedInputTitle?html}"</#if> <#if value2?has_content> value="${value2}"</#if> diff --git a/themes/common-theme/template/macro/TextFormMacroLibrary.ftl b/themes/common-theme/template/macro/TextFormMacroLibrary.ftl index 647a7d441c..8dbe7073a0 100644 --- a/themes/common-theme/template/macro/TextFormMacroLibrary.ftl +++ b/themes/common-theme/template/macro/TextFormMacroLibrary.ftl @@ -100,7 +100,7 @@ under the License. <#macro renderTextFindField name value defaultOption opEquals opBeginsWith opContains opIsEmpty opNotEqual className alert size maxlength autocomplete titleStyle hideIgnoreCase ignCase ignoreCase conditionGroup tabindex><@renderField value /></#macro> -<#macro renderDateFindField className alert id name localizedInputTitle value value2 size maxlength dateType formName defaultDateTimeString imgSrc localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty conditionGroup tabindex><@renderField value /></#macro> +<#macro renderDateFindField id name formName defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty className="" alert=false imgSrc="" value="" isTimeType=false isDateType=false conditionGroup="" localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" tabindex="" disabled=false><@renderField value /></#macro> <#macro renderRangeFindField className alert name value size maxlength autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru conditionGroup tabindex> <@renderField value /> diff --git a/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl b/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl index df5b199859..04ef9942e9 100644 --- a/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl +++ b/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl @@ -115,7 +115,7 @@ under the License. <#macro renderTextFindField name value defaultOption opEquals opBeginsWith opContains opIsEmpty opNotEqual className alert size maxlength autocomplete titleStyle hideIgnoreCase ignCase ignoreCase conditionGroup tabindex></#macro> -<#macro renderDateFindField className alert id name localizedInputTitle value value2 size maxlength dateType formName defaultDateTimeString imgSrc localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty conditionGroup tabindex></#macro> +<#macro renderDateFindField id name formName defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty className="" alert=false imgSrc="" value="" isTimeType=false isDateType=false conditionGroup="" localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" tabindex="" disabled=false></#macro> <#macro renderRangeFindField className alert name value size maxlength autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru conditionGroup tabindex></#macro> diff --git a/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl b/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl index 6f6eff5714..0b166cfd1b 100644 --- a/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl +++ b/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl @@ -93,7 +93,7 @@ under the License. <#macro renderTextFindField name value defaultOption opEquals opBeginsWith opContains opIsEmpty opNotEqual className alert size maxlength autocomplete titleStyle hideIgnoreCase ignCase ignoreCase tabindex><@renderField value/></#macro> -<#macro renderDateFindField className alert id name localizedInputTitle value value2 size maxlength dateType formName defaultDateTimeString imgSrc localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty conditionGroup tabindex></#macro> +<#macro renderDateFindField id name formName defaultOptionFrom defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty className="" alert=false imgSrc="" value="" isTimeType=false isDateType=false conditionGroup="" localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" tabindex="" disabled=false></#macro> <#macro renderRangeFindField className alert name value size maxlength autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru conditionGroup tabindex> </#macro>