r1973 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services/service wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer wao-web/src/main/resources/fr/ifremer/wao/web/action/obsmer wao-web/src/main/webapp wao-web/src/main/webapp/WEB-INF/content/obsmer
Author: bleny Date: 2014-05-20 17:47:47 +0200 (Tue, 20 May 2014) New Revision: 1973 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1973 Log: use new filters on boats Added: trunk/wao-web/src/main/resources/fr/ifremer/wao/web/action/obsmer/BoatsAction-conversion.properties Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/AbstractFilterValues.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsFilterValues.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp trunk/wao-web/src/main/webapp/wao.js Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/AbstractFilterValues.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/AbstractFilterValues.java 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/AbstractFilterValues.java 2014-05-20 15:47:47 UTC (rev 1973) @@ -1,6 +1,9 @@ package fr.ifremer.wao.services.service; +import org.apache.commons.beanutils.BeanUtilsBean; + import java.io.Serializable; +import java.lang.reflect.InvocationTargetException; import java.util.Locale; public abstract class AbstractFilterValues implements Serializable { @@ -14,4 +17,36 @@ public Locale getLocale() { return locale; } + + public abstract <T extends AbstractFilterValues> T getCopyWithSingleProperty(String propertyName); + + /** + * Helper method to implement {@link #getCopyWithSingleProperty(String)} + * + * @param target empty instance of bean to copy (only constructor called) + * @param propertyName property that will be copied from this to given argument. + * @param <T> needed to prevent external cast. + */ + protected <T extends AbstractFilterValues> void copyProperty(T target, String propertyName) { + Object value; + try { + value = BeanUtilsBean.getInstance().getPropertyUtils().getProperty(this, propertyName); + } catch (IllegalAccessException e) { + throw new IllegalArgumentException("unable to access field '" + propertyName + "', on " + this, e); + } catch (NoSuchMethodException e) { + throw new IllegalArgumentException("no such field '" + propertyName + "', on " + this, e); + } catch (InvocationTargetException e) { + throw new IllegalArgumentException("cannot call getter '" + propertyName + "', on " + this, e); + } + try { + BeanUtilsBean.getInstance().getPropertyUtils().setProperty(target, propertyName, value); + } catch (IllegalAccessException e) { + throw new IllegalArgumentException("unable to set field '" + propertyName + "', on " + this, e); + } catch (NoSuchMethodException e) { + throw new IllegalArgumentException("no such field '" + propertyName + "', on " + this, e); + } catch (InvocationTargetException e) { + throw new IllegalArgumentException("cannot call setter '" + propertyName + "', on " + this, e); + } + } + } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/BoatsFilterValues.java 2014-05-20 15:47:47 UTC (rev 1973) @@ -31,9 +31,7 @@ import fr.ifremer.wao.entity.ShipOwner; import fr.ifremer.wao.entity.TerrestrialLocation; -import java.util.HashSet; import java.util.Locale; -import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -58,6 +56,8 @@ protected SortedSet<FilterOption> fleets = new TreeSet<>(); + protected SortedSet<FilterOption> boats = new TreeSet<>(); + public BoatsFilterValues(Locale locale, ObsProgram obsProgram, Optional<String> optionalCompanyId) { super(locale); this.elligibleForSampleRowsFilterValues = new SampleRowsFilterValues(locale, obsProgram, optionalCompanyId); @@ -92,11 +92,7 @@ fleet.getDescription())); } - Set<String> companyIds = new HashSet<>(); - for (FilterOption filterOption : elligibleForSampleRowsFilterValues.getCompanies()) { - String companyId = filterOption.getValue(); - companyIds.add(companyId); - } + boats.add(FilterOption.forValueAndLabel(boat.getTopiaId(), boat.getDescription())); for (ElligibleBoat elligibleBoat : boat.getElligibleBoat()) { SampleRow sampleRow = elligibleBoat.getSampleRow(); @@ -125,4 +121,39 @@ public SortedSet<FilterOption> getFleets() { return fleets; } + + public SortedSet<FilterOption> getBoats() { + return boats; + } + + public void setBoats(SortedSet<FilterOption> boats) { + this.boats = boats; + } + + public void setElligibleForSampleRowsFilterValues(SampleRowsFilterValues elligibleForSampleRowsFilterValues) { + this.elligibleForSampleRowsFilterValues = elligibleForSampleRowsFilterValues; + } + + public void setShipOwners(SortedSet<FilterOption> shipOwners) { + this.shipOwners = shipOwners; + } + + public void setDistricts(SortedSet<FilterOption> districts) { + this.districts = districts; + } + + public void setPortsOfRegistry(SortedSet<FilterOption> portsOfRegistry) { + this.portsOfRegistry = portsOfRegistry; + } + + public void setFleets(SortedSet<FilterOption> fleets) { + this.fleets = fleets; + } + + public BoatsFilterValues getCopyWithSingleProperty(String propertyName) { + // FIXME brendan 20/05/14 null is a design fail :-( + BoatsFilterValues copy = new BoatsFilterValues(locale, elligibleForSampleRowsFilterValues.getObsProgram(), null); + copyProperty(copy, propertyName); + return copy; + } } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsFilterValues.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsFilterValues.java 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsFilterValues.java 2014-05-20 15:47:47 UTC (rev 1973) @@ -236,4 +236,8 @@ options.add(FilterOption.forValueAndLabel(value, label)); } + @Override + public <T extends AbstractFilterValues> T getCopyWithSingleProperty(String propertyName) { + throw new UnsupportedOperationException(); + } } \ No newline at end of file Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerBoatsService.java 2014-05-20 15:47:47 UTC (rev 1973) @@ -51,8 +51,10 @@ import java.io.InputStream; import java.util.Collection; import java.util.Date; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; /** * Created on 4/1/14. @@ -65,21 +67,31 @@ /** Logger. */ private static final Log log = LogFactory.getLog(ObsMerBoatsService.class); + protected static final Map<BoatsFilter, BoatsFilterValues> cache = new HashMap(); + public BoatsFilterValues getBoatsFilterValues(AuthenticatedWaoUser authenticatedWaoUser, BoatsFilter filter) { - BoatTopiaDao dao = getBoatDao(); + BoatsFilterValues boatsFilterValues = cache.get(filter); - List<Boat> boats = dao.findAll(filter); + if (boatsFilterValues == null) { - Optional<String> optionalCompanyId = Optional.absent(); - if (authenticatedWaoUser.isCoordinatorOrObserver()) { - optionalCompanyId = Optional.of(authenticatedWaoUser.getCompany().getTopiaId()); - } + BoatTopiaDao dao = getBoatDao(); - BoatsFilterValues boatsFilterValues = new BoatsFilterValues(serviceContext.getLocale(), authenticatedWaoUser.getObsProgram(), optionalCompanyId); + List<Boat> boats = dao.findAll(filter); - for (Boat boat : boats) { - boatsFilterValues.addBoat(boat); + Optional<String> optionalCompanyId = Optional.absent(); + if (authenticatedWaoUser.isCoordinatorOrObserver()) { + optionalCompanyId = Optional.of(authenticatedWaoUser.getCompany().getTopiaId()); + } + + boatsFilterValues = new BoatsFilterValues(serviceContext.getLocale(), authenticatedWaoUser.getObsProgram(), optionalCompanyId); + + for (Boat boat : boats) { + boatsFilterValues.addBoat(boat); + } + + cache.put(filter, boatsFilterValues); + } return boatsFilterValues; Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowsFilterValues.java 2014-05-20 15:47:47 UTC (rev 1973) @@ -74,6 +74,14 @@ this.optionalCompanyId = optionalCompanyId; } + public ObsProgram getObsProgram() { + return obsProgram; + } + + public Optional<String> getOptionalCompanyId() { + return optionalCompanyId; + } + public void addSampleRow(SampleRow sampleRow) { boolean sampleRowMatchesObsProgram = obsProgram.equals(sampleRow.getObsProgram()); boolean sampleRowMatchesCompany = true; @@ -163,19 +171,46 @@ return targetSpeciesDcfs; } + public void setFishingZoneFacadeNames(SortedSet<FilterOption> fishingZoneFacadeNames) { + this.fishingZoneFacadeNames = fishingZoneFacadeNames; + } + + public void setFishingZoneSectorNames(SortedSet<FilterOption> fishingZoneSectorNames) { + this.fishingZoneSectorNames = fishingZoneSectorNames; + } + + public void setSampleRowCodes(SortedSet<FilterOption> sampleRowCodes) { + this.sampleRowCodes = sampleRowCodes; + } + + public void setProgramNames(SortedSet<FilterOption> programNames) { + this.programNames = programNames; + } + + public void setCompanies(SortedSet<FilterOption> companies) { + this.companies = companies; + } + + public void setSamplingStrategies(SortedSet<FilterOption> samplingStrategies) { + this.samplingStrategies = samplingStrategies; + } + + public void setTerrestrialDistricts(SortedSet<FilterOption> terrestrialDistricts) { + this.terrestrialDistricts = terrestrialDistricts; + } + + public void setFishingGearDcfs(SortedSet<FilterOption> fishingGearDcfs) { + this.fishingGearDcfs = fishingGearDcfs; + } + + public void setTargetSpeciesDcfs(SortedSet<FilterOption> targetSpeciesDcfs) { + this.targetSpeciesDcfs = targetSpeciesDcfs; + } + public SampleRowsFilterValues getCopyWithSingleProperty(String propertyName) { SampleRowsFilterValues copy = new SampleRowsFilterValues(locale, obsProgram, optionalCompanyId); - try { - // no setter, use field directly - Object value = copy.getClass().getDeclaredField(propertyName).get(this); - copy.getClass().getDeclaredField(propertyName).set(copy, value); - //Object value = PropertyUtils.getProperty(this, propertyName); - // BeanUtilsBean.getInstance().getPropertyUtils().setProperty(copy, propertyName, value); - } catch (IllegalAccessException e) { - throw new IllegalArgumentException("unable to access field '" + propertyName + "', on " + this, e); - } catch (NoSuchFieldException e) { - throw new IllegalArgumentException("no such field '" + propertyName + "', on " + this, e); - } + copyProperty(copy, propertyName); return copy; } + } Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/BoatsFilterValuesJsonAction.java 2014-05-20 15:47:47 UTC (rev 1973) @@ -26,6 +26,7 @@ import fr.ifremer.wao.services.service.BoatsFilterValues; import fr.ifremer.wao.services.service.ObsMerBoatsService; import fr.ifremer.wao.web.WaoJsonActionSupport; +import org.apache.commons.lang3.StringUtils; /** * Created on 4/1/14. @@ -43,10 +44,16 @@ protected BoatsFilterValues filterValues; + protected String filterValuesField; + public void setService(ObsMerBoatsService service) { this.service = service; } + public void setFilterValuesField(String filterValuesField) { + this.filterValuesField = filterValuesField; + } + public BoatsFilter getFilter() { if (filter == null) { prepare(); @@ -54,10 +61,6 @@ return filter; } - public BoatsFilterValues getFilterValues() { - return filterValues; - } - @Override public void prepare() { @@ -68,7 +71,20 @@ public String execute() { filterValues = service.getBoatsFilterValues(session.getAuthenticatedWaoUser(), filter); + + if (StringUtils.isNotBlank(filterValuesField)) { + + // le client ne demande qu'un seul champ, on peut éviter de retourner l'objet complet + + filterValues = filterValues.getCopyWithSingleProperty(filterValuesField); + + } + return SUCCESS; } + public BoatsFilterValues getFilterValues() { + return filterValues; + } + } \ No newline at end of file Copied: trunk/wao-web/src/main/resources/fr/ifremer/wao/web/action/obsmer/BoatsAction-conversion.properties (from rev 1970, trunk/wao-web/src/main/resources/fr/ifremer/wao/web/action/obsmer/SamplingPlanAction-conversion.properties) =================================================================== --- trunk/wao-web/src/main/resources/fr/ifremer/wao/web/action/obsmer/BoatsAction-conversion.properties (rev 0) +++ trunk/wao-web/src/main/resources/fr/ifremer/wao/web/action/obsmer/BoatsAction-conversion.properties 2014-05-20 15:47:47 UTC (rev 1973) @@ -0,0 +1 @@ +filter=org.nuiton.web.struts2.converters.JsonConverter Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp =================================================================== --- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/boats.jsp 2014-05-20 15:47:47 UTC (rev 1973) @@ -32,10 +32,54 @@ $(document).ready(function () { - var $boatsFiltersForm = $('#boats-filters-form'); - var boatsFilterController = new FilterController(WAO.OBSMER_BOATS_FILTER_VALUES_JSON_URL, $boatsFiltersForm); - boatsFilterController.init(); + var boatFilterMappings = [ + { + filterName: 'boatIds', + filterLabel: "<s:text name="wao.ui.entity.Boat"/>", + filterValuesField: 'boats', + minimumInputLength: 3 + }, + { + filterName: 'elligibleForSampleRowsFilter.fishingZoneFacadeNames', + filterLabel: "<s:text name="wao.ui.field.FishingZone.facadeName"/>", + filterValuesField: 'elligibleForSampleRowsFilterValues.fishingZoneFacadeNames' + }, + { + filterName: 'elligibleForSampleRowsFilter.fishingZoneSectorNames', + filterLabel: "<s:text name="wao.ui.field.FishingZone.sectorName"/>", + filterValuesField: 'elligibleForSampleRowsFilterValues.fishingZoneSectorNames' + }, + { + filterName: 'elligibleForSampleRowsFilter.sampleRowCodes', + filterLabel: "<s:text name="wao.ui.field.SampleRow.code"/>", + filterValuesField: 'elligibleForSampleRowsFilterValues.sampleRowCodes' + }, + { + filterName: 'districtIds', + filterLabel: "<s:text name="wao.ui.field.Boat.district"/>", + filterValuesField: 'districts' + }, + { + filterName: 'shipOwnerIds', + filterLabel: "<s:text name="wao.ui.field.Boat.shipOwner"/>", + filterValuesField: 'shipOwners' + }, + { + filterName: 'portOfRegistryIds', + filterLabel: "<s:text name="wao.ui.field.Boat.portOfRegistry"/>", + filterValuesField: 'portsOfRegistry' + } + ]; + filter = <s:property value="filter" escapeHtml="false"/>; + + boatsFilterController2 = new FilterController2(boatFilterMappings, filter, WAO.OBSMER_BOATS_FILTER_VALUES_JSON_URL, $('#boats-filters-form fieldset.extra-filters')); + boatsFilterController2.init(); + +// var $boatsFiltersForm = $('#boats-filters-form'); +// var boatsFilterController = new FilterController(WAO.OBSMER_BOATS_FILTER_VALUES_JSON_URL, $boatsFiltersForm); +// boatsFilterController.init(); + var $boatDetails = $('#boat-details'); var $companyId = $('#companyId'); @@ -66,46 +110,6 @@ } }); - <%-- - $('.boat-selection').select2({ - minimumInputLength: 2, - multiple: true, - placeholder: "123456", - ajax: { - url: WAO.OBSMER_SEARCH_BOAT_JSON_URL, - data: function (term, page) { - var data = WAO.toData($boatsFiltersForm); - delete data['filter.boatIds']; - data['filter.boatNameOrRegistrationCode'] = term; - data['pageSize'] = 20; - return data; - }, - cache: false, - results: function (data, page) { - var results = []; - $(data.boatFilterOptions).each(function(key, boatFilterOption) { - var option = { - id: boatFilterOption.value, - text: boatFilterOption.label - }; - results.push(option); - }); - return { results: results, more: false }; - } - }, - /* - initSelection: function (element, callback) { - var results = []; - <s:iterator value="filter.boatIds" var="establishment" > - results.push({ id: '<s:property value="#establishment.topiaId" escapeJavaScript="true" escapeHtml="false" />', - text: '<s:property value="#establishment.finess" escapeJavaScript="true" escapeHtml="false" /> <s:property value="#establishment.name" escapeJavaScript="true" escapeHtml="false" />' }); - </s:iterator> - callback(results); - } - */ - }); - --%> - }); </script> @@ -133,74 +137,10 @@ <div> <s:form method="GET" id="boats-filters-form" cssClass="filters-form"> - <s:select name="filter.elligibleForSampleRowsFilter.fishingZoneFacadeNames" - label="%{getText('wao.ui.field.FishingZone.facadeName')}" - list="filterValues.elligibleForSampleRowsFilterValues.fishingZoneFacadeNames" - listKey="value" - listValue="label" - multiple="true" - dataBinding="elligibleForSampleRowsFilterValues.fishingZoneFacadeNames"/> + <fieldset class="extra-filters"> - <s:select name="filter.elligibleForSampleRowsFilter.fishingZoneSectorNames" - label="%{getText('wao.ui.field.FishingZone.sectorName')}" - list="filterValues.elligibleForSampleRowsFilterValues.fishingZoneSectorNames" - listKey="value" - listValue="label" - multiple="true" - dataBinding="elligibleForSampleRowsFilterValues.fishingZoneSectorNames"/> + </fieldset> - <s:select name="filter.elligibleForSampleRowsFilter.sampleRowCodes" - label="%{getText('wao.ui.field.SampleRow.code')}" - list="filterValues.elligibleForSampleRowsFilterValues.sampleRowCodes" - listKey="value" - listValue="label" - multiple="true" - dataBinding="elligibleForSampleRowsFilterValues.sampleRowCodes"/> - - <s:textfield name="filter.boatName" - label="%{getText('wao.ui.form.Boat.name')}" - placeholder="%{getText('wao.ui.form.boatName.placeholder')}" - cssClass=""/> - - <s:textfield name="filter.registrationCode" - label="%{getText('wao.ui.form.Boat.registrationCode')}" - placeholder="%{getText('wao.ui.form.registrationCode.placeholder')}" - cssClass=""/> - <%-- - <div class="control-group"> - <label class="control-label" for=""> - Immatriculation ou nom - </label> - <div class="controls"> - <input type="hidden" name="filter.boatIds" class="boat-selection"/> - </div> - </div> - --%> - - <s:select name="filter.districtIds" - label="%{getText('wao.ui.field.Boat.district')}" - list="filterValues.districts" - listKey="value" - listValue="label" - multiple="true" - dataBinding="districts"/> - - <s:select name="filter.shipOwnerIds" - label="%{getText('wao.ui.field.Boat.shipOwner')}" - list="filterValues.shipOwners" - listKey="value" - listValue="label" - multiple="true" - dataBinding="shipOwners"/> - - <s:select name="filter.portOfRegistryIds" - label="%{getText('wao.ui.field.Boat.portOfRegistry')}" - list="filterValues.portsOfRegistry" - listKey="value" - listValue="label" - multiple="true" - dataBinding="portsOfRegistry"/> - <div class="form-actions"> <s:submit type="button" cssClass="btn btn-primary"> Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp =================================================================== --- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-05-20 15:47:47 UTC (rev 1973) @@ -35,7 +35,7 @@ // var sampleRowsFilterController = new FilterController(WAO.OBSMER_SAMPLE_ROWS_FILTER_VALUES_JSON_URL, $('#sampling-plan-filters-form')); // sampleRowsFilterController.init(); - var filterMappings = [ + var sampleRowsFilterMappings = [ <s:if test="authenticatedWaoUser.authorizedToViewOtherCompanies"> { filterName: 'companyIds', @@ -77,7 +77,7 @@ filter = <s:property value="filter" escapeHtml="false"/>; - sampleRowsFilterController2 = new FilterController2(filterMappings, filter, WAO.OBSMER_SAMPLE_ROWS_FILTER_VALUES_JSON_URL, $('#sampling-plan-filters-form fieldset.toto')); + sampleRowsFilterController2 = new FilterController2(sampleRowsFilterMappings, filter, WAO.OBSMER_SAMPLE_ROWS_FILTER_VALUES_JSON_URL, $('#sampling-plan-filters-form fieldset.extra-filters')); sampleRowsFilterController2.init(); $('#switch-estimated-real').click(function () { @@ -129,80 +129,10 @@ </fieldset> -<%-- - <fieldset class="filters-group"> + <fieldset class="extra-filters"> - <s:if test="authenticatedWaoUser.authorizedToViewOtherCompanies"> - - <s:select name="filter.companyIds" - label="%{getText('wao.ui.entity.Company')}" - list="filterValues.companies" - listKey="value" - listValue="label" - multiple="true" - dataBinding="companies" /> - - </s:if> - - <s:select name="filter.programNames" - label="%{getText('wao.ui.field.SampleRow.programName')}" - list="filterValues.programNames" - listKey="value" - listValue="label" - multiple="true" - dataBinding="programNames" /> - - <s:select name="filter.sampleRowCodes" - label="%{getText('wao.ui.field.SampleRow.code')}" - list="filterValues.sampleRowCodes" - listKey="value" - listValue="label" - multiple="true" - dataBinding="sampleRowCodes" /> - </fieldset> - <fieldset class="filters-group"> - - <s:select name="filter.fishingZoneFacadeNames" - label="%{getText('wao.ui.field.FishingZone.facadeName')}" - list="filterValues.fishingZoneFacadeNames" - listKey="value" - listValue="label" - multiple="true" - dataBinding="fishingZoneFacadeNames" /> - - <s:select name="filter.fishingZoneSectorNames" - label="%{getText('wao.ui.field.FishingZone.sectorName')}" - list="filterValues.fishingZoneSectorNames" - listKey="value" - listValue="label" - multiple="true" - dataBinding="fishingZoneSectorNames" /> - - <s:select name="filter.fishingGearDcfIds" - label="%{getText('wao.ui.entity.fishingGearDCF')}" - list="filterValues.fishingGearDcfs" - listKey="value" - listValue="label" - multiple="true" - dataBinding="fishingGearDcfs" /> - - <s:select name="filter.targetSpeciesDcfIds" - label="%{getText('wao.ui.entity.targetSpeciesDCF')}" - list="filterValues.targetSpeciesDcfs" - listKey="value" - listValue="label" - multiple="true" - dataBinding="targetSpeciesDcfs" /> - - </fieldset> ---%> - - <fieldset class="toto"> - - </fieldset> - <div class="form-actions"> <s:submit type="button" cssClass="btn btn-primary"> Modified: trunk/wao-web/src/main/webapp/wao.js =================================================================== --- trunk/wao-web/src/main/webapp/wao.js 2014-05-20 13:39:14 UTC (rev 1972) +++ trunk/wao-web/src/main/webapp/wao.js 2014-05-20 15:47:47 UTC (rev 1973) @@ -413,7 +413,11 @@ this.$openButton.hide(); this.$selectContainer.show(); if (this.useSelect2) { - this.$select.select2(); + var select2Options = {}; + if (this.model.filterMapping.minimumInputLength) { + select2Options['minimumInputLength'] = this.model.filterMapping.minimumInputLength; + } + this.$select.select2(select2Options); } };
participants (1)
-
bleny@users.forge.codelutin.com