You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2015/09/19 21:53:47 UTC
svn commit: r1704082 - in /ofbiz/trunk:
applications/order/widget/ordermgr/CustRequestScreens.xml
framework/common/webcommon/includes/setMultipleSelectJsList.ftl
Author: jleroux
Date: Sat Sep 19 19:53:47 2015
New Revision: 1704082
URL: http://svn.apache.org/viewvc?rev=1704082&view=rev
Log:
A patch from Gil Portenseigne for "multiple select dropdown listbox shows only one entry" https://issues.apache.org/jira/browse/OFBIZ-6627
Wai reported:
Use this link https://localhost:8443/ordermgr/control/FindRequest
Notice the customer request type id, status id, etc
This patch extend existing asm dropdown implementation to allow several asm dropdown in the same form using a simple ftl.
Find Request use the new ftl in this example.
Added:
ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl (with props)
Modified:
ofbiz/trunk/applications/order/widget/ordermgr/CustRequestScreens.xml
Modified: ofbiz/trunk/applications/order/widget/ordermgr/CustRequestScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/widget/ordermgr/CustRequestScreens.xml?rev=1704082&r1=1704081&r2=1704082&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/widget/ordermgr/CustRequestScreens.xml (original)
+++ ofbiz/trunk/applications/order/widget/ordermgr/CustRequestScreens.xml Sat Sep 19 19:53:47 2015
@@ -26,6 +26,24 @@ under the License.
<set field="titleProperty" value="OrderFindRequests"/>
<set field="headerItem" value="request"/>
<set field="entityName" value="CustRequest"/>
+ <set field="asm_multipleSelectForm" value="FindRequests"/>
+ <set field="asm_asmListItemPercentOfForm" value="110"/>
+ <set field="custRequestType.asm_multipleSelect" value="FindRequests_custRequestTypeId"/>
+ <set field="custRequestType.asm_sortable" value="true"/>
+ <set field="custRequestType.asm_title" value=" "/>
+ <set field="statusId.asm_multipleSelect" value="FindRequests_statusId"/>
+ <set field="statusId.asm_sortable" value="true"/>
+ <set field="statusId.asm_title" value=" "/>
+ <set field="productStoreId.asm_multipleSelect" value="FindRequests_productStoreId"/>
+ <set field="productStoreId.asm_sortable" value="true"/>
+ <set field="productStoreId.asm_title" value=" "/>
+ <set field="salesChannelEnumId.asm_multipleSelect" value="FindRequests_salesChannelEnumId"/>
+ <set field="salesChannelEnumId.asm_sortable" value="true"/>
+ <set field="salesChannelEnumId.asm_title" value=" "/>
+ <set field="asm_listField[]" from-field="custRequestType"/>
+ <set field="asm_listField[]" from-field="statusId"/>
+ <set field="asm_listField[]" from-field="productStoreId"/>
+ <set field="asm_listField[]" from-field="salesChannelEnumId"/>
</actions>
<widgets>
<decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
@@ -37,6 +55,7 @@ under the License.
</container>
</decorator-section>
<decorator-section name="search-options">
+ <platform-specific><html><html-template location="component://common/webcommon/includes/setMultipleSelectJsList.ftl"/></html></platform-specific>
<include-form name="FindRequests" location="component://order/widget/ordermgr/CustRequestForms.xml"/>
</decorator-section>
<decorator-section name="search-results">
Added: ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl?rev=1704082&view=auto
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl (added)
+++ ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl Sat Sep 19 19:53:47 2015
@@ -0,0 +1,66 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<#if asm_listField??> <#-- we check only this var and suppose the others are also present -->
+ <#list asm_listField as row>
+ <#if row.asm_multipleSelect??>
+ <script type="text/javascript">
+ jQuery(document).ready(function() {
+ multiple = jQuery("#${row.asm_multipleSelect!}");
+
+ <#if row.asm_title??>
+ // set the dropdown "title" if??
+ multiple.attr('title', '${row.asm_title}');
+ </#if>
+
+ // use asmSelect in Widget Forms
+ multiple.asmSelect({
+ addItemTarget: 'top',
+ sortable: ${row.asm_sortable!'false'},
+ removeLabel: '${uiLabelMap.CommonRemove!'Remove'}'
+ //, debugMode: true
+ });
+
+ <#if row.asm_relatedField??> <#-- can be used without related field -->
+ // track possible relatedField changes
+ // on initial focus (focus-field-name must be asm_relatedField) or if the field value changes, select related multi values.
+ typeValue = jQuery('#${row.asm_typeField}').val();
+ jQuery("#${row.asm_relatedField}").one('focus', function() {
+ selectMultipleRelatedValues('${row.asm_requestName}', '${row.asm_paramKey}', '${row.asm_relatedField}', '${row.asm_multipleSelect}', '${row.asm_type}', typeValue, '${row.asm_responseName}');
+ });
+ jQuery("#${row.asm_relatedField}").change(function() {
+ selectMultipleRelatedValues('${row.asm_requestName}', '${row.asm_paramKey}', '${row.asm_relatedField}', '${row.asm_multipleSelect}', '${row.asm_type}', typeValue, '${row.asm_responseName}');
+ });
+ selectMultipleRelatedValues('${row.asm_requestName}', '${row.asm_paramKey}', '${row.asm_relatedField}', '${row.asm_multipleSelect}', '${row.asm_type}', typeValue, '${row.asm_responseName}');
+ </#if>
+ });
+ </script>
+
+ </#if>
+ </#list>
+ <style type="text/css">
+ #${asm_multipleSelectForm} {
+ width: ${asm_formSize!700}px;
+ position: relative;
+ }
+
+ .asmListItem {
+ width: ${asm_asmListItemPercentOfForm!95}%;
+ }
+ </style>
+</#if>
Propchange: ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/framework/common/webcommon/includes/setMultipleSelectJsList.ftl
------------------------------------------------------------------------------
svn:mime-type = text/plain