Hi Gil, Great work so far. However, I seem to be facing a bug. I list the error below that shows in almost every form:
When calling macro "renderHiddenField", required parameter "conditionGroup" (parameter #2) was not specified. ---- Tip: If the omission was deliberate, you may consider making the parameter optional in the macro by specifying a default value for it, like <#macro macroName paramName=defaultExpr>) ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #macro renderHiddenField name conditi... [in template "component://common-theme/template/macro/HtmlFormMacroLibrary.ftl" in macro "renderHiddenField" at line 305, column 1] - Reached through: @renderHiddenField name="realestateCi... [in template "-222c6da2:161d256a91a:-7356" at line 1, column 1] On Mon, Feb 26, 2018 at 12:57 PM, <p...@apache.org> wrote: > Author: pgil > Date: Mon Feb 26 09:57:36 2018 > New Revision: 1825350 > > URL: http://svn.apache.org/viewvc?rev=1825350&view=rev > Log: > Implemented: Add the ability in performFind service to set OR search criteria > (OFBIZ-10195) > > This improvement add a way to specify a condition-group attribute on search > fields, for performFind service usage. > The same group conditions are gathered with AND operator, and each group is > added with a OR > The resulting condition is added to the other with AND operator. > Thanks Taher for your reviews and ideas > > Modified: > > ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/FindServices.java > ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-form.xsd > > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java > > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java > > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java > > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl > > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoFormMacroLibrary.ftl > > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl > > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextFormMacroLibrary.ftl > > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl > > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl > > Modified: > ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/FindServices.java > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/FindServices.java?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/FindServices.java > (original) > +++ > ofbiz/ofbiz-framework/trunk/framework/common/src/main/java/org/apache/ofbiz/common/FindServices.java > Mon Feb 26 09:57:36 2018 > @@ -218,11 +218,19 @@ public class FindServices { > Set<String> processed = new LinkedHashSet<>(); > Set<String> keys = new LinkedHashSet<>(); > Map<String, ModelField> fieldMap = new LinkedHashMap<>(); > + /** > + * When inputFields contains several xxxx_grp, yyyy_grp ... values, > + * Corresponding conditions will grouped by an {@link > EntityOperator.AND} then all added to final > + * condition grouped by an {@link EntityOperator.OR} > + * That will allow union of search criteria, instead of default > intersection. > + */ > + Map<String, List<EntityCondition>> savedGroups = new LinkedHashMap(); > for (ModelField modelField : fieldList) { > fieldMap.put(modelField.getName(), modelField); > } > List<EntityCondition> result = new LinkedList<>(); > for (Map.Entry<String, ? extends Object> entry : > parameters.entrySet()) { > + String currentGroup = null; > String parameterName = entry.getKey(); > if (processed.contains(parameterName)) { > continue; > @@ -237,7 +245,15 @@ public class FindServices { > } else if (parameterName.endsWith("_value")) { > fieldName = parameterName.substring(0, > parameterName.length() - 6); > } > - String key = fieldName.concat("_ic"); > + > + String key = fieldName.concat("_grp"); > + if (parameters.containsKey(key)) { > + if (parameters.containsKey(key)) { > + keys.add(key); > + } > + currentGroup = (String) parameters.get(key); > + } > + key = fieldName.concat("_ic"); > if (parameters.containsKey(key)) { > keys.add(key); > ignoreCase = "Y".equals(parameters.get(key)); > @@ -272,11 +288,28 @@ public class FindServices { > if (ObjectType.isEmpty(fieldValue) && > !"empty".equals(operation)) { > continue; > } > - result.add(createSingleCondition(modelField, operation, > fieldValue, ignoreCase, delegator, context)); > + if (UtilValidate.isNotEmpty(currentGroup)){ > + List<EntityCondition> groupedConditions = new LinkedList<>(); > + if(savedGroups.get(currentGroup) != null) { > + groupedConditions.addAll(savedGroups.get(currentGroup)); > + } > + groupedConditions.add(createSingleCondition(modelField, > operation, fieldValue, ignoreCase, delegator, context)); > + savedGroups.put(currentGroup, groupedConditions); > + } else { > + result.add(createSingleCondition(modelField, operation, > fieldValue, ignoreCase, delegator, context)); > + } > + > for (String mapKey : keys) { > queryStringMap.put(mapKey, parameters.get(mapKey)); > } > } > + //Add OR-grouped conditions > + List<EntityCondition> orConditions = new LinkedList<>(); > + for (String groupedConditions : savedGroups.keySet()) { > + > orConditions.add(EntityCondition.makeCondition(savedGroups.get(groupedConditions))); > + } > + if (orConditions.size() > 0) > result.add(EntityCondition.makeCondition(orConditions, EntityOperator.OR)); > + > return result; > } > > > Modified: ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-form.xsd > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-form.xsd?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-form.xsd > (original) > +++ ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-form.xsd Mon Feb > 26 09:57:36 2018 > @@ -925,6 +925,16 @@ under the License. > </xs:documentation> > </xs:annotation> > </xs:attribute> > + <xs:attribute type="xs:string" name="condition-group"> > + <xs:annotation> > + <xs:documentation> > + The condition-group regroup search criterias > together. > + Each group member will be gathered with AND operator > + Every defined groups will be joined each other with > OR operator > + Any ungrouped condition will be added with AND > operator > + </xs:documentation> > + </xs:annotation> > + </xs:attribute> > </xs:complexType> > </xs:element> > > > Modified: > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java > (original) > +++ > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java > Mon Feb 26 09:57:36 2018 > @@ -144,6 +144,7 @@ public class ModelFormField { > private final String widgetStyle; > private final String parentFormName; > private final String tabindex; > + private final String conditionGroup; > > private ModelFormField(ModelFormFieldBuilder builder) { > this.action = builder.getAction(); > @@ -197,6 +198,7 @@ public class ModelFormField { > this.widgetStyle = builder.getWidgetStyle(); > this.parentFormName = builder.getParentFormName(); > this.tabindex = builder.getTabindex(); > + this.conditionGroup = builder.getConditionGroup(); > } > > public FlexibleStringExpander getAction() { > @@ -448,6 +450,10 @@ public class ModelFormField { > return tabindex; > } > > + public String getConditionGroup() { > + return conditionGroup; > + } > + > public Map<String, ? extends Object> getMap(Map<String, ? extends > Object> context) { > if (UtilValidate.isEmpty(this.mapAcsr)) { > return this.modelForm.getDefaultMap(context); > > Modified: > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java > (original) > +++ > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java > Mon Feb 26 09:57:36 2018 > @@ -111,6 +111,7 @@ public class ModelFormFieldBuilder { > private String widgetStyle = ""; > private String parentFormName = ""; > private String tabindex = ""; > + private String conditionGroup = ""; > > public ModelFormFieldBuilder() { > } > @@ -162,6 +163,7 @@ public class ModelFormFieldBuilder { > this.widgetStyle = fieldElement.getAttribute("widget-style"); > this.parentFormName = fieldElement.getAttribute("form-name"); > this.tabindex = fieldElement.getAttribute("tabindex"); > + this.conditionGroup = fieldElement.getAttribute("condition-group"); > Element childElement = null; > List<? extends Element> subElements = > UtilXml.childElementList(fieldElement); > for (Element subElement : subElements) { > @@ -277,6 +279,7 @@ public class ModelFormFieldBuilder { > this.widgetStyle = modelFormField.getWidgetStyle(); > this.parentFormName = modelFormField.getParentFormName(); > this.tabindex = modelFormField.getTabindex(); > + this.conditionGroup = modelFormField.getConditionGroup(); > } > > public ModelFormFieldBuilder(ModelFormFieldBuilder builder) { > @@ -318,6 +321,7 @@ public class ModelFormFieldBuilder { > this.widgetStyle = builder.getWidgetStyle(); > this.parentFormName = builder.getParentFormName(); > this.tabindex = builder.getTabindex(); > + this.conditionGroup = builder.getConditionGroup(); > } > > public ModelFormFieldBuilder addOnChangeUpdateArea(UpdateArea > onChangeUpdateArea) { > @@ -494,6 +498,10 @@ public class ModelFormFieldBuilder { > return tabindex; > } > > + public String getConditionGroup() { > + return conditionGroup; > + } > + > private boolean induceFieldInfo(ModelForm modelForm, String > defaultFieldType, ModelReader entityModelReader, DispatchContext > dispatchContext) { > if (induceFieldInfoFromEntityField(defaultFieldType, > entityModelReader)) { > return true; > @@ -810,6 +818,9 @@ public class ModelFormFieldBuilder { > if (UtilValidate.isNotEmpty(builder.getTabindex())) { > this.tabindex = builder.getTabindex(); > } > + if (UtilValidate.isNotEmpty(builder.getConditionGroup())) { > + this.conditionGroup = builder.getConditionGroup(); > + } > this.encodeOutput = builder.getEncodeOutput(); > this.position = builder.getPosition(); > this.requiredField = builder.getRequiredField(); > @@ -1000,4 +1011,8 @@ public class ModelFormFieldBuilder { > this.tabindex = tabindex; > return this; > } > + public ModelFormFieldBuilder setConditionGroup(String conditionGroup) { > + this.conditionGroup = conditionGroup; > + return this; > + } > } > > Modified: > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java > (original) > +++ > ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java > Mon Feb 26 09:57:36 2018 > @@ -774,6 +774,7 @@ public final class MacroFormRenderer imp > ModelFormField modelFormField = dropDownField.getModelFormField(); > ModelForm modelForm = modelFormField.getModelForm(); > String currentValue = modelFormField.getEntry(context); > + String conditionGroup = modelFormField.getConditionGroup(); > List<ModelFormField.OptionValue> allOptionValues = > dropDownField.getAllOptionValues(context, WidgetWorker.getDelegator(context)); > ModelFormField.AutoComplete autoComplete = > dropDownField.getAutoComplete(); > String event = modelFormField.getEvent(); > @@ -1000,6 +1001,8 @@ public final class MacroFormRenderer imp > sr.append(ignoreCase); > sr.append("\" fullSearch=\""); > sr.append(fullSearch); > + sr.append("\" conditionGroup=\""); > + sr.append(conditionGroup); > sr.append("\" tabindex=\""); > sr.append(tabindex); > sr.append("\" />"); > @@ -1014,6 +1017,7 @@ public final class MacroFormRenderer imp > public void renderCheckField(Appendable writer, Map<String, Object> > context, CheckField checkField) throws IOException { > ModelFormField modelFormField = checkField.getModelFormField(); > String currentValue = modelFormField.getEntry(context); > + String conditionGroup = modelFormField.getConditionGroup(); > Boolean allChecked = checkField.isAllChecked(context); > String id = modelFormField.getCurrentContainerId(context); > String className = ""; > @@ -1051,6 +1055,8 @@ public final class MacroFormRenderer imp > sr.append(alert); > sr.append("\" id=\""); > sr.append(id); > + sr.append("\" conditionGroup=\""); > + sr.append(conditionGroup); > sr.append("\" allChecked="); > sr.append((allChecked != null ? Boolean.toString(allChecked) : > "\"\"")); > sr.append(" currentValue=\""); > @@ -1076,6 +1082,7 @@ public final class MacroFormRenderer imp > ModelFormField modelFormField = radioField.getModelFormField(); > List<ModelFormField.OptionValue> allOptionValues = > radioField.getAllOptionValues(context, WidgetWorker.getDelegator(context)); > String currentValue = modelFormField.getEntry(context); > + String conditionGroup = modelFormField.getConditionGroup(); > String className = ""; > String alert = "false"; > String name = modelFormField.getParameterName(context); > @@ -1123,6 +1130,8 @@ public final class MacroFormRenderer imp > if (action != null) { > sr.append(action); > } > + sr.append("\" conditionGroup=\""); > + sr.append(conditionGroup); > sr.append("\" tabindex=\""); > sr.append(tabindex); > sr.append("\" />"); > @@ -1243,12 +1252,15 @@ public final class MacroFormRenderer imp > public void renderHiddenField(Appendable writer, Map<String, Object> > context, ModelFormField modelFormField, String value) throws IOException { > String name = modelFormField.getParameterName(context); > String action = modelFormField.getAction(context); > + String conditionGroup = modelFormField.getConditionGroup(); > String event = modelFormField.getEvent(); > String id = modelFormField.getCurrentContainerId(context); > StringWriter sr = new StringWriter(); > sr.append("<@renderHiddenField "); > sr.append(" name=\""); > sr.append(name); > + sr.append("\" conditionGroup=\""); > + sr.append(conditionGroup); > sr.append("\" value=\""); > sr.append(value); > sr.append("\" id=\""); > @@ -1788,6 +1800,7 @@ public final class MacroFormRenderer imp > public void renderTextFindField(Appendable writer, Map<String, Object> > context, TextFindField textFindField) throws IOException { > ModelFormField modelFormField = textFindField.getModelFormField(); > String defaultOption = textFindField.getDefaultOption(context); > + String conditionGroup = modelFormField.getConditionGroup(); > String className = ""; > String alert = "false"; > String opEquals = ""; > @@ -1869,6 +1882,8 @@ public final class MacroFormRenderer imp > sr.append(ignoreCase); > sr.append("\" tabindex=\""); > sr.append(tabindex); > + sr.append("\" conditionGroup=\""); > + sr.append(conditionGroup); > sr.append("\" />"); > executeMacro(writer, sr.toString()); > this.appendTooltip(writer, context, modelFormField); > @@ -1882,6 +1897,7 @@ public final class MacroFormRenderer imp > String opGreaterThanEquals = > UtilProperties.getMessage("conditionalUiLabels", "greater_than_equals", > locale); > String opLessThan = UtilProperties.getMessage("conditionalUiLabels", > "less_than", locale); > String opLessThanEquals = > UtilProperties.getMessage("conditionalUiLabels", "less_than_equals", locale); > + String conditionGroup = modelFormField.getConditionGroup(); > String className = ""; > String alert = "false"; > if (UtilValidate.isNotEmpty(modelFormField.getWidgetStyle())) { > @@ -1950,6 +1966,8 @@ public final class MacroFormRenderer imp > sr.append(value2); > sr.append("\" defaultOptionThru=\""); > sr.append(defaultOptionThru); > + sr.append("\" conditionGroup=\""); > + sr.append(conditionGroup); > sr.append("\" tabindex=\""); > sr.append(tabindex); > sr.append("\" />"); > @@ -1968,6 +1986,7 @@ public final class MacroFormRenderer imp > 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.checkMap(context.get("uiLabelMap")); > if (uiLabelMap == null) { > Debug.logWarning("Could not find uiLabelMap in context", module); > @@ -2066,6 +2085,8 @@ public final class MacroFormRenderer imp > 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=\""); > @@ -2102,6 +2123,7 @@ public final class MacroFormRenderer imp > public void renderLookupField(Appendable writer, Map<String, Object> > context, LookupField lookupField) throws IOException { > ModelFormField modelFormField = lookupField.getModelFormField(); > String lookupFieldFormName = lookupField.getFormName(context); > + String conditionGroup = modelFormField.getConditionGroup(); > String className = ""; > String alert = "false"; > if (UtilValidate.isNotEmpty(modelFormField.getWidgetStyle())) { > @@ -2275,6 +2297,8 @@ public final class MacroFormRenderer imp > sr.append(Boolean.toString(isInitiallyCollapsed)); > sr.append("\" lastViewName=\""); > sr.append(lastViewName); > + sr.append("\" conditionGroup=\""); > + sr.append(conditionGroup); > sr.append("\" tabindex=\""); > sr.append(tabindex); > sr.append("\" delegatorName=\""); > > Modified: > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl > (original) > +++ > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvFormMacroLibrary.ftl > Mon Feb 26 09:57:36 2018 > @@ -30,7 +30,7 @@ under the License. > > <#macro renderDateTimeField name className alert title value size maxlength > id dateType shortDateInput timeDropdownParamName defaultDateTimeString > localizedIconTitle timeDropdown timeHourName classString hour1 hour2 > timeMinutesName minutes isTwelveHour ampmName amSelected pmSelected > compositeType formName mask="" event="" action="" step="" timeValues="" > tabindex="" ><@renderField value /></#macro> > > -<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch tabindex> > +<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch > conditionGroup tabindex> > <#if currentValue?has_content && firstInList?has_content> > <@renderField explicitDescription /> > <#else> > @@ -41,13 +41,13 @@ under the License. > </#macro> > > <#macro renderTooltip tooltip tooltipStyle></#macro> > -<#macro renderCheckField items className alert id allChecked currentValue > name event action tabindex></#macro> > -<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action tabindex></#macro> > +<#macro renderCheckField items className alert id allChecked currentValue > name event action conditionGroup tabindex></#macro> > +<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action conditionGroup tabindex></#macro> > > <#macro renderSubmitField buttonType className alert formName title name > event action imgSrc confirmation containerId ajaxUrl tabindex></#macro> > <#macro renderResetField className alert name title></#macro> > > -<#macro renderHiddenField name value id event action></#macro> > +<#macro renderHiddenField name conditionGroup value id event action></#macro> > <#macro renderIgnoredField></#macro> > > <#macro renderFieldTitle style title id="" fieldHelpText="" > for=""><@renderField title />,</#macro> > @@ -97,15 +97,15 @@ under the License. > > <#macro renderFormatEmptySpace> </#macro> > > -<#macro renderTextFindField name value defaultOption opEquals opBeginsWith > opContains opIsEmpty opNotEqual className alert size maxlength autocomplete > titleStyle hideIgnoreCase ignCase ignoreCase tabindex><@renderField value > /></#macro> > +<#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 name localizedInputTitle value > value2 size maxlength dateType formName defaultDateTimeString imgSrc > localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals > opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan > opUpToDay opUpThruDay opIsEmpty tabindex><@renderField value /></#macro> > +<#macro renderDateFindField className alert 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 renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > tabindex> > +<#macro renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > conditionGroup tabindex> > <@renderField value /> > </#macro> > > -<#macro renderLookupField name formName fieldFormName className="" > alert="false" value="" size="" maxlength="" id="" event="" action="" > readonly=false autocomplete="" descriptionFieldName="" targetParameterIter="" > imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled presentation="layer" > width="" height="" position="" fadeBackground="true" clearText="" > showDescription="" initiallyCollapsed="" lastViewName="main" tabindex="" > delegatorName="default">></#macro> > +<#macro renderLookupField name formName fieldFormName conditionGroup > className="" alert="false" value="" size="" maxlength="" id="" event="" > action="" readonly=false autocomplete="" descriptionFieldName="" > targetParameterIter="" imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled > presentation="layer" width="" height="" position="" fadeBackground="true" > clearText="" showDescription="" initiallyCollapsed="" lastViewName="main" > tabindex="" delegatorName="default">></#macro> > <#macro renderNextPrev paginateStyle paginateFirstStyle viewIndex highIndex > listSize viewSize ajaxEnabled javaScriptEnabled ajaxFirstUrl firstUrl > paginateFirstLabel paginatePreviousStyle ajaxPreviousUrl previousUrl > paginatePreviousLabel pageLabel ajaxSelectUrl selectUrl ajaxSelectSizeUrl > selectSizeUrl commonDisplaying paginateNextStyle ajaxNextUrl nextUrl > paginateNextLabel paginateLastStyle ajaxLastUrl lastUrl paginateLastLabel > paginateViewSizeLabel></#macro> > <#macro renderFileField className alert name value size maxlength > autocomplete tabindex><@renderField value /></#macro> > <#macro renderPasswordField className alert name value size maxlength id > autocomplete tabindex></#macro> > > Modified: > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoFormMacroLibrary.ftl > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoFormMacroLibrary.ftl?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoFormMacroLibrary.ftl > (original) > +++ > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoFormMacroLibrary.ftl > Mon Feb 26 09:57:36 2018 > @@ -57,7 +57,7 @@ under the License. > > <#macro renderDateTimeField name className alert title value size maxlength > step timeValues id event action dateType shortDateInput timeDropdownParamName > defaultDateTimeString localizedIconTitle timeDropdown timeHourName > classString hour1 hour2 timeMinutesName minutes isTwelveHour ampmName > amSelected pmSelected compositeType formName mask="" event="" action="" > step="" timeValues="" tabindex=""><@makeBlock className value /></#macro> > > -<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size explicitDescription allowEmpty options > fieldName otherFieldName otherValue otherFieldSize dDFCurrent ajaxEnabled > noCurrentSelectedKey ajaxOptions frequency minChars choices autoSelect > partialSearch partialChars ignoreCase fullSearch tabindex firstInList="" > currentValue=""> > +<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size explicitDescription allowEmpty options > fieldName otherFieldName otherValue otherFieldSize dDFCurrent ajaxEnabled > noCurrentSelectedKey ajaxOptions frequency minChars choices autoSelect > partialSearch partialChars ignorease fullSearch conditionGroup tabindex > firstInList="" currentValue=""> > <#if currentValue?has_content && firstInList?has_content> > <@makeBlock "" explicitDescription /> > <#else> > @@ -67,13 +67,13 @@ under the License. > </#if> > </#macro> > > -<#macro renderCheckField items className alert id allChecked currentValue > name event action tabindex><@makeBlock "" "" /></#macro> > -<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action tabindex><@makeBlock "" "" /></#macro> > +<#macro renderCheckField items className alert id allChecked currentValue > name event action conditionGroup tabindex><@makeBlock "" "" /></#macro> > +<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action conditionGroup tabindex><@makeBlock "" > "" /></#macro> > > <#macro renderSubmitField buttonType className alert formName title name > event action imgSrc confirmation containerId ajaxUrl tabindex><@makeBlock "" > "" /></#macro> > <#macro renderResetField className alert name title><@makeBlock "" "" > /></#macro> > > -<#macro renderHiddenField name value id event action><!--hidden--></#macro> > +<#macro renderHiddenField name conditionGroup value id event > action><!--hidden--></#macro> > <#macro renderIgnoredField><!--ignore--></#macro> > > <#macro renderFieldTitle style title id fieldHelpText="" for=""><fo:block > <@getFoStyle style/>>${title?default("")?replace(" ", " > ")}</fo:block></#macro> > @@ -121,16 +121,16 @@ under the License. > > <#macro renderFormatEmptySpace> <@makeBlock "" " " /><!--space--></#macro> > > -<#macro renderTextFindField name value defaultOption opEquals opBeginsWith > opContains opIsEmpty opNotEqual className alert size maxlength autocomplete > titleStyle hideIgnoreCase ignCase ignoreCase tabindex><@makeBlock className > value/></#macro> > +<#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 name localizedInputTitle value > value2 size maxlength dateType formName defaultDateTimeString imgSrc > localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals > opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan > opUpToDay opUpThruDay opIsEmpty tabindex> > +<#macro renderDateFindField className alert 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> > <@makeBlock className value /> > </#macro> > -<#macro renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > tabindex> > +<#macro renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > conditionGroup tabindex> > <@makeBlock className value /> > </#macro> > > -<#macro renderLookupField name formName fieldFormName className="" > alert="false" value="" size="" maxlength="" id="" event="" action="" > readonly=false autocomplete="" descriptionFieldName="" targetParameterIter="" > imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled presentation="layer" > width="" height="" position="" fadeBackground="true" clearText="" > showDescription="" initiallyCollapsed="" lastViewName="main" tabindex="" > delegatorName="default"></#macro> > +<#macro renderLookupField name formName fieldFormName conditionGroup > className="" alert="false" value="" size="" maxlength="" id="" event="" > action="" readonly=false autocomplete="" descriptionFieldName="" > targetParameterIter="" imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled > presentation="layer" width="" height="" position="" fadeBackground="true" > clearText="" showDescription="" initiallyCollapsed="" lastViewName="main" > tabindex="" delegatorName="default"></#macro> > <#macro renderNextPrev paginateStyle paginateFirstStyle viewIndex highIndex > listSize viewSize ajaxEnabled javaScriptEnabled ajaxFirstUrl firstUrl > paginateFirstLabel paginatePreviousStyle ajaxPreviousUrl previousUrl > paginatePreviousLabel pageLabel ajaxSelectUrl selectUrl ajaxSelectSizeUrl > selectSizeUrl commonDisplaying paginateNextStyle ajaxNextUrl nextUrl > paginateNextLabel paginateLastStyle ajaxLastUrl lastUrl paginateLastLabel > paginateViewSizeLabel></#macro> > <#macro renderFileField className alert name value size maxlength > autocomplete tabindex><@makeBlock className value /></#macro> > <#macro renderPasswordField className alert name value size maxlength id > autocomplete tabindex><@makeBlock className "" /></#macro> > > Modified: > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl > (original) > +++ > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlFormMacroLibrary.ftl > Mon Feb 26 09:57:36 2018 > @@ -207,7 +207,10 @@ under the License. > </span> > </#macro> > > -<#macro renderDropDownField name className alert id formName otherFieldName > action explicitDescription options fieldName otherFieldName otherValue > otherFieldSize ajaxEnabled ajaxOptions frequency minChars choices autoSelect > partialSearch partialChars ignoreCase fullSearch tabindex="" multiple="" > event="" size="" firstInList="" currentValue="" allowEmpty="" dDFCurrent="" > noCurrentSelectedKey=""> > +<#macro renderDropDownField name className alert id formName otherFieldName > action explicitDescription options fieldName otherFieldName otherValue > otherFieldSize ajaxEnabled ajaxOptions frequency minChars choices autoSelect > partialSearch partialChars ignoreCase fullSearch conditionGroup tabindex="" > multiple="" event="" size="" firstInList="" currentValue="" allowEmpty="" > dDFCurrent="" noCurrentSelectedKey=""> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <span class="ui-widget"> > <select name="${name?default("")}<#rt/>" <@renderClass className alert > /><#if id?has_content> id="${id}"</#if><#if multiple?has_content> > multiple="multiple"</#if><#if otherFieldSize gt 0> > onchange="process_choice(this,document.${formName}.${otherFieldName})"</#if><#if > event?has_content> ${event}="${action}"</#if><#if size?has_content> > size="${size}"</#if><#if tabindex?has_content> > tabindex="${tabindex}"</#if><#rt/>> > <#if firstInList?has_content && currentValue?has_content && > !multiple?has_content> > @@ -249,7 +252,10 @@ under the License. > </#if> > </#macro> > > -<#macro renderCheckField items className alert id name action allChecked="" > currentValue="" event="" tabindex=""> > +<#macro renderCheckField items className alert id name action conditionGroup > allChecked="" currentValue="" event="" tabindex=""> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <#list items as item> > <span <@renderClass className alert />><#rt/> > <input type="checkbox"<#if (item_index == 0)> > id="${id}"</#if><#rt/><#if tabindex?has_content> > tabindex="${tabindex}"</#if><#rt/> > @@ -261,7 +267,10 @@ under the License. > </#list> > </#macro> > > -<#macro renderRadioField items className alert name action currentValue="" > noCurrentSelectedKey="" event="" tabindex=""> > +<#macro renderRadioField items className alert name action conditionGroup > currentValue="" noCurrentSelectedKey="" event="" tabindex=""> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <#list items as item> > <span <@renderClass className alert />><#rt/> > <input type="radio"<#if currentValue?has_content><#if > currentValue==item.key> checked="checked"</#if><#if tabindex?has_content> > tabindex="${tabindex}"</#if><#rt/> > @@ -293,7 +302,10 @@ under the License. > <input type="reset" <@renderClass className alert /> name="${name}"<#if > title?has_content> value="${title}"</#if>/> > </#macro> > > -<#macro renderHiddenField name value="" id="" event="" action=""> > +<#macro renderHiddenField name conditionGroup value="" id="" event="" > action=""> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <input type="hidden" name="${name}"<#if value?has_content> > value="${value}"</#if><#if id?has_content> id="${id}"</#if><#if > event?has_content && action?has_content> ${event}="${action}"</#if>/> > </#macro> > > @@ -449,7 +461,10 @@ under the License. > > <#macro renderFormatEmptySpace> </#macro> > > -<#macro renderTextFindField name defaultOption opBeginsWith opContains > opIsEmpty opNotEqual className alert hideIgnoreCase ignCase ignoreCase > value="" opEquals="" size="" maxlength="" autocomplete="" titleStyle="" > tabindex=""> > +<#macro renderTextFindField name defaultOption opBeginsWith opContains > opIsEmpty opNotEqual className alert hideIgnoreCase ignCase ignoreCase > conditionGroup value="" opEquals="" size="" maxlength="" autocomplete="" > titleStyle="" tabindex=""> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <#if opEquals?has_content> > <select <#if name?has_content>name="${name}_op"</#if> > class="selectBox"><#rt/> > <option value="equals"<#if defaultOption=="equals"> > selected="selected"</#if>>${opEquals}</option><#rt/> > @@ -472,7 +487,10 @@ under the License. > </#if> > </#macro> > > -<#macro renderDateFindField className alert name dateType formName value > defaultDateTimeString imgSrc localizedIconTitle defaultOptionFrom > defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan > opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty > localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" > tabindex=""> > +<#macro renderDateFindField className alert name dateType formName value > defaultDateTimeString imgSrc localizedIconTitle defaultOptionFrom > defaultOptionThru opEquals opSameDay opGreaterThanFromDayStart opGreaterThan > opGreaterThan opLessThan opUpToDay opUpThruDay opIsEmpty conditionGroup > localizedInputTitle="" value2="" size="" maxlength="" titleStyle="" > tabindex=""> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <span class="view-calendar"> > <input id="${name?html}_fld0_value" type="text" <@renderClass className > alert /><#if name?has_content> name="${name?html}_fld0_value"</#if><#if > localizedInputTitle?has_content> title="${localizedInputTitle}"</#if><#if > value?has_content> value="${value}"</#if><#if size?has_content> > size="${size}"</#if><#if maxlength?has_content> > maxlength="${maxlength}"</#if>/><#if tabindex?has_content> > tabindex="${tabindex}"</#if><#rt/> > <#if dateType != "time"> > @@ -550,7 +568,10 @@ under the License. > </span> > </#macro> > > -<#macro renderRangeFindField className alert value defaultOptionFrom > opEquals opGreaterThan opGreaterThanEquals opLessThan opLessThanEquals > defaultOptionThru name="" size="" maxlength="" autocomplete="" titleStyle="" > value2="" tabindex=""> > +<#macro renderRangeFindField className alert value defaultOptionFrom > opEquals opGreaterThan opGreaterThanEquals opLessThan opLessThanEquals > defaultOptionThru conditionGroup name="" size="" maxlength="" autocomplete="" > titleStyle="" value2="" tabindex=""> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <input type="text" <@renderClass className alert /> <#if > name?has_content>name="${name}_fld0_value"</#if><#if value?has_content> > value="${value}"</#if><#if size?has_content> size="${size}"</#if><#if > maxlength?has_content> maxlength="${maxlength}"</#if><#if > autocomplete?has_content> autocomplete="off"</#if>/><#if > tabindex?has_content> tabindex="${tabindex}"</#if><#rt/> > <#if titleStyle?has_content> > <span class="${titleStyle}" ><#rt/> > @@ -612,7 +633,7 @@ Parameter: lastViewName, String, optiona > Parameter: tabindex, String, optional - HTML tabindex number. > Parameter: delegatorName, String, optional - name of the delegator in > context. > --> > -<#macro renderLookupField name formName fieldFormName className="" > alert="false" value="" size="" maxlength="" id="" event="" action="" > readonly=false autocomplete="" descriptionFieldName="" targetParameterIter="" > imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled presentation="layer" > width=modelTheme.getLookupWidth() height=modelTheme.getLookupHeight() > position=modelTheme.getLookupPosition() fadeBackground="true" clearText="" > showDescription="" initiallyCollapsed="" lastViewName="main" tabindex="" > delegatorName="default"> > +<#macro renderLookupField name formName fieldFormName conditionGroup > className="" alert="false" value="" size="" maxlength="" id="" event="" > action="" readonly=false autocomplete="" descriptionFieldName="" > targetParameterIter="" imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled > presentation="layer" width=modelTheme.getLookupWidth() > height=modelTheme.getLookupHeight() position=modelTheme.getLookupPosition() > fadeBackground="true" clearText="" showDescription="" initiallyCollapsed="" > lastViewName="main" tabindex="" delegatorName="default"> > <#if > Static["org.apache.ofbiz.widget.model.ModelWidget"].widgetBoundaryCommentsEnabled(context)><#-- > context is always null here, but this is handled in > widgetBoundaryCommentsEnabled --> > <!-- @renderLookupField --> > </#if> > @@ -629,6 +650,9 @@ Parameter: delegatorName, String, option > <#if ajaxEnabled?has_content && ajaxEnabled && (presentation?has_content > && "window" == presentation)> > <#local ajaxUrl = ajaxUrl + "&_LAST_VIEW_NAME_=" + lastViewName /> > </#if> > + <#if conditionGroup?has_content> > + <input type="hidden" name="${name}_grp" value="${conditionGroup}"/> > + </#if> > <span class="field-lookup"> > <#if size?has_content && size=="0"> > <input type="hidden" <#if name?has_content> name="${name}"</#if><#if > tabindex?has_content> tabindex="${tabindex}"</#if><#rt/> > > Modified: > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextFormMacroLibrary.ftl > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextFormMacroLibrary.ftl?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextFormMacroLibrary.ftl > (original) > +++ > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextFormMacroLibrary.ftl > Mon Feb 26 09:57:36 2018 > @@ -30,7 +30,7 @@ under the License. > > <#macro renderDateTimeField name className alert title value size maxlength > id dateType shortDateInput timeDropdownParamName defaultDateTimeString > localizedIconTitle timeDropdown timeHourName classString hour1 hour2 > timeMinutesName minutes isTwelveHour ampmName amSelected pmSelected > compositeType formName mask="" event="" action="" step="" timeValues="" > tabindex="" ><@renderField value /></#macro> > > -<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch tabindex> > +<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch > conditionGroup tabindex> > <#if currentValue?has_content && firstInList?has_content> > <@renderField explicitDescription /> > <#else> > @@ -41,13 +41,13 @@ under the License. > </#macro> > > <#macro renderTooltip tooltip tooltipStyle></#macro> > -<#macro renderCheckField items className alert id allChecked currentValue > name event action tabindex></#macro> > -<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action tabindex></#macro> > +<#macro renderCheckField items className alert id allChecked currentValue > name event action conditionGroup tabindex></#macro> > +<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action conditionGroup tabindex></#macro> > > <#macro renderSubmitField buttonType className alert formName title name > event action imgSrc confirmation containerId ajaxUrl tabindex></#macro> > <#macro renderResetField className alert name title></#macro> > > -<#macro renderHiddenField name value id event action></#macro> > +<#macro renderHiddenField name conditionGroup value id event action></#macro> > <#macro renderIgnoredField></#macro> > > <#macro renderFieldTitle style title id fieldHelpText="" > for=""><@renderField title /></#macro> > @@ -97,15 +97,15 @@ under the License. > > <#macro renderFormatEmptySpace> </#macro> > > -<#macro renderTextFindField name value defaultOption opEquals opBeginsWith > opContains opIsEmpty opNotEqual className alert size maxlength autocomplete > titleStyle hideIgnoreCase ignCase ignoreCase tabindex><@renderField value > /></#macro> > +<#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 name localizedInputTitle value > value2 size maxlength dateType formName defaultDateTimeString imgSrc > localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals > opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan > opUpToDay opUpThruDay opIsEmpty tabindex><@renderField value /></#macro> > +<#macro renderDateFindField className alert 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 renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > tabindex> > +<#macro renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > conditionGroup tabindex> > <@renderField value /> > </#macro> > > -<#macro renderLookupField name formName fieldFormName className="" > alert="false" value="" size="" maxlength="" id="" event="" action="" > readonly=false autocomplete="" descriptionFieldName="" targetParameterIter="" > imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled presentation="layer" > width="" height="" position="" fadeBackground="true" clearText="" > showDescription="" initiallyCollapsed="" lastViewName="main" tabindex="" > delegatorName="default">><@renderField value /></#macro> > +<#macro renderLookupField name formName fieldFormName conditionGroup > className="" alert="false" value="" size="" maxlength="" id="" event="" > action="" readonly=false autocomplete="" descriptionFieldName="" > targetParameterIter="" imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled > presentation="layer" width="" height="" position="" fadeBackground="true" > clearText="" showDescription="" initiallyCollapsed="" lastViewName="main" > tabindex="" delegatorName="default">><@renderField value /></#macro> > <#macro renderNextPrev paginateStyle paginateFirstStyle viewIndex highIndex > listSize viewSize ajaxEnabled javaScriptEnabled ajaxFirstUrl firstUrl > paginateFirstLabel paginatePreviousStyle ajaxPreviousUrl previousUrl > paginatePreviousLabel pageLabel ajaxSelectUrl selectUrl ajaxSelectSizeUrl > selectSizeUrl commonDisplaying paginateNextStyle ajaxNextUrl nextUrl > paginateNextLabel paginateLastStyle ajaxLastUrl lastUrl paginateLastLabel > paginateViewSizeLabel></#macro> > <#macro renderFileField className alert name value size maxlength > autocomplete tabindex><@renderField value /></#macro> > <#macro renderPasswordField className alert name value size maxlength id > autocomplete tabindex></#macro> > > Modified: > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl > (original) > +++ > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsFormMacroLibrary.ftl > Mon Feb 26 09:57:36 2018 > @@ -40,17 +40,17 @@ under the License. > <#else><@renderItemField value "dtf" className/></#if> > </#macro> > > -<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch > tabindex><@renderItemField explicitDescription "txf" className/></#macro> > +<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch > conditionGroup tabindex><@renderItemField explicitDescription "txf" > className/></#macro> > > -<#macro renderCheckField items className alert id allChecked currentValue > name event action tabindex><@renderItemField currentValue "txf" > className/></#macro> > +<#macro renderCheckField items className alert id allChecked currentValue > name event action conditionGroup tabindex><@renderItemField currentValue > "txf" className/></#macro> > > -<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action tabindex><@renderItemField > currentValue "txf" className/></#macro> > +<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action conditionGroup > tabindex><@renderItemField currentValue "txf" className/></#macro> > > <#macro renderSubmitField buttonType className alert formName title name > event action imgSrc confirmation containerId ajaxUrl tabindex></#macro> > > <#macro renderResetField className alert name title></#macro> > > -<#macro renderHiddenField name value id event action></#macro> > +<#macro renderHiddenField name conditionGroup value id event action></#macro> > > <#macro renderIgnoredField></#macro> > > @@ -112,13 +112,13 @@ under the License. > > <#macro renderFormatEmptySpace><@renderItemField "" "txf"/></#macro> > > -<#macro renderTextFindField name value defaultOption opEquals opBeginsWith > opContains opIsEmpty opNotEqual className alert size maxlength autocomplete > titleStyle hideIgnoreCase ignCase ignoreCase tabindex></#macro> > +<#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 name localizedInputTitle value > value2 size maxlength dateType formName defaultDateTimeString imgSrc > localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals > opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan > opUpToDay opUpThruDay opIsEmpty tabindex></#macro> > +<#macro renderDateFindField className alert 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 renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > tabindex></#macro> > +<#macro renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > conditionGroup tabindex></#macro> > > -<#macro renderLookupField name formName fieldFormName className="" > alert="false" value="" size="" maxlength="" id="" event="" action="" > readonly=false autocomplete="" descriptionFieldName="" targetParameterIter="" > imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled presentation="layer" > width="" height="" position="" fadeBackground="true" clearText="" > showDescription="" initiallyCollapsed="" lastViewName="main" tabindex="" > delegatorName="default">><@renderItemField value "txf" className/></#macro> > +<#macro renderLookupField name formName fieldFormName conditionGroup > className="" alert="false" value="" size="" maxlength="" id="" event="" > action="" readonly=false autocomplete="" descriptionFieldName="" > targetParameterIter="" imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled > presentation="layer" width="" height="" position="" fadeBackground="true" > clearText="" showDescription="" initiallyCollapsed="" lastViewName="main" > tabindex="" delegatorName="default">><@renderItemField value "txf" > className/></#macro> > > <#macro renderNextPrev paginateStyle paginateFirstStyle viewIndex highIndex > listSize viewSize ajaxEnabled javaScriptEnabled ajaxFirstUrl firstUrl > paginateFirstLabel paginatePreviousStyle ajaxPreviousUrl previousUrl > paginatePreviousLabel pageLabel ajaxSelectUrl selectUrl ajaxSelectSizeUrl > selectSizeUrl commonDisplaying paginateNextStyle ajaxNextUrl nextUrl > paginateNextLabel paginateLastStyle ajaxLastUrl lastUrl paginateLastLabel > paginateViewSizeLabel></#macro> > > > Modified: > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl > URL: > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl?rev=1825350&r1=1825349&r2=1825350&view=diff > ============================================================================== > --- > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl > (original) > +++ > ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XmlFormMacroLibrary.ftl > Mon Feb 26 09:57:36 2018 > @@ -46,16 +46,16 @@ under the License. > > <#macro renderDateTimeField name className alert title value size maxlength > id dateType shortDateInput timeDropdownParamName defaultDateTimeString > localizedIconTitle timeDropdown timeHourName classString hour1 hour2 > timeMinutesName minutes isTwelveHour ampmName amSelected pmSelected > compositeType formName mask="" event="" action="" step="" timeValues="" > tabindex="" ><@renderField value/></#macro> > > -<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch tabindex> > +<#macro renderDropDownField name className alert id multiple formName > otherFieldName event action size firstInList currentValue explicitDescription > allowEmpty options fieldName otherFieldName otherValue otherFieldSize > dDFCurrent ajaxEnabled noCurrentSelectedKey ajaxOptions frequency minChars > choices autoSelect partialSearch partialChars ignoreCase fullSearch > conditionGroup tabindex> > </#macro> > > -<#macro renderCheckField items className alert id allChecked currentValue > name event action tabindex></#macro> > -<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action tabindex></#macro> > +<#macro renderCheckField items className alert id allChecked currentValue > name event action conditionGroup tabindex></#macro> > +<#macro renderRadioField items className alert currentValue > noCurrentSelectedKey name event action conditionGroup tabindex></#macro> > > <#macro renderSubmitField buttonType className alert formName title name > event action imgSrc confirmation containerId ajaxUrl tabindex></#macro> > <#macro renderResetField className alert name title></#macro> > > -<#macro renderHiddenField name value id event action></#macro> > +<#macro renderHiddenField name conditionGroup value id event action></#macro> > <#macro renderIgnoredField></#macro> > > <#macro renderFieldTitle style title id fieldHelpText="" for=""></#macro> > @@ -92,12 +92,12 @@ 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 name localizedInputTitle value > value2 size maxlength dateType formName defaultDateTimeString imgSrc > localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals > opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan > opUpToDay opUpThruDay opIsEmpty tabindex></#macro> > +<#macro renderDateFindField className alert 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 renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > tabindex> > +<#macro renderRangeFindField className alert name value size maxlength > autocomplete titleStyle defaultOptionFrom opEquals opGreaterThan > opGreaterThanEquals opLessThan opLessThanEquals value2 defaultOptionThru > conditionGroup tabindex> > </#macro> > > -<#macro renderLookupField name formName fieldFormName className="" > alert="false" value="" size="" maxlength="" id="" event="" action="" > readonly=false autocomplete="" descriptionFieldName="" targetParameterIter="" > imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled presentation="layer" > width="" height="" position="" fadeBackground="true" clearText="" > showDescription="" initiallyCollapsed="" lastViewName="main" tabindex="" > delegatorName="default">></#macro> > +<#macro renderLookupField name formName fieldFormName conditionGroup > className="" alert="false" value="" size="" maxlength="" id="" event="" > action="" readonly=false autocomplete="" descriptionFieldName="" > targetParameterIter="" imgSrc="" ajaxUrl="" ajaxEnabled=javaScriptEnabled > presentation="layer" width="" height="" position="" fadeBackground="true" > clearText="" showDescription="" initiallyCollapsed="" lastViewName="main" > tabindex="" delegatorName="default">></#macro> > <#macro renderNextPrev paginateStyle paginateFirstStyle viewIndex highIndex > listSize viewSize ajaxEnabled javaScriptEnabled ajaxFirstUrl firstUrl > paginateFirstLabel paginatePreviousStyle ajaxPreviousUrl previousUrl > paginatePreviousLabel pageLabel ajaxSelectUrl selectUrl ajaxSelectSizeUrl > selectSizeUrl commonDisplaying paginateNextStyle ajaxNextUrl nextUrl > paginateNextLabel paginateLastStyle ajaxLastUrl lastUrl paginateLastLabel > paginateViewSizeLabel></#macro> > <#macro renderFileField className alert name value size maxlength > autocomplete tabindex></#macro> > <#macro renderPasswordField className alert name value size maxlength id > autocomplete tabindex></#macro> > >