r1947 - in trunk/wao-web/src/main/webapp: . WEB-INF/content/obsmer
Author: bleny Date: 2014-05-16 12:14:25 +0200 (Fri, 16 May 2014) New Revision: 1947 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1947 Log: init filter values Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp trunk/wao-web/src/main/webapp/wao.js 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-16 08:55:59 UTC (rev 1946) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-05-16 10:14:25 UTC (rev 1947) @@ -37,28 +37,28 @@ var filterMappings = [ { - filterName: 'filter.fishingZoneFacadeNames', + filterName: 'fishingZoneFacadeNames', filterLabel: "<s:text name="wao.ui.field.FishingZone.facadeName"/>", filterValuesField: 'fishingZoneFacadeNames', }, { - filterName: 'filter.fishingZoneSectorNames', + filterName: 'fishingZoneSectorNames', filterLabel: "<s:text name="wao.ui.field.FishingZone.sectorName"/>", filterValuesField: 'fishingZoneSectorNames', }, { - filterName: 'filter.fishingGearDcfIds', + filterName: 'fishingGearDcfIds', filterLabel: "<s:text name="wao.ui.entity.fishingGearDCF"/>", filterValuesField: 'fishingGearDcfs', }, { - filterName: 'filter.targetSpeciesDcfIds', + filterName: 'targetSpeciesDcfIds', filterLabel: "<s:text name="wao.ui.entity.targetSpeciesDCF"/>", filterValuesField: 'targetSpeciesDcfs', } ]; - var filter = <s:property value="filter" escapeHtml="false"/>; + 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.init(); Modified: trunk/wao-web/src/main/webapp/wao.js =================================================================== --- trunk/wao-web/src/main/webapp/wao.js 2014-05-16 08:55:59 UTC (rev 1946) +++ trunk/wao-web/src/main/webapp/wao.js 2014-05-16 10:14:25 UTC (rev 1947) @@ -226,7 +226,25 @@ oneFilterModel.setOptions(options); } WAO.get(this.filterValuesUrl, filter, successCallback); + }; + + this.onSelectedOptionsUpdated = function (oneFilterModel) { + var filterValues = []; + $.each(oneFilterModel.selectedOptions, function (index, selectedOption) { + filterValues.push(selectedOption.value); + }); + this.filter[oneFilterModel.filterMapping.filterName] = filterValues; + }; + + this.setFilter = function (filter) { + this.filter = filter; + $(self).trigger('filter-updated', [ this.filter ]); + }; + + this.init = function () { + } + }; var FilterView2 = function (filterModel, $filtersForm) { @@ -252,6 +270,9 @@ this.init = function () { + this.model.init(); + this.view.init(); + $.each(this.model.filterMappings, function (index, filterMapping) { var oneFilterController = new OneFilterController(filterMapping, self.model); @@ -259,8 +280,18 @@ self.view.$filtersForm.append(oneFilterController.view.$container); + $(oneFilterController.model).on('selected-options-updated', function (event, oneFilterModel) { + self.model.onSelectedOptionsUpdated(oneFilterModel); + }); + + $(self.model).on('filter-updated', function (event, filter) { + oneFilterController.model.onFilterUpdated(filter); + }); + }); + $(this.model).trigger('filter-updated', [ this.model.filter ]); + }; }; @@ -280,22 +311,18 @@ this.setOptions = function (options) { this.options = options; - $(self).trigger('options-updated'); - } + $(self).trigger('options-updated', [ self ]); + }; this.setSelectedOptions = function (selectedOptions) { this.selectedOptions = selectedOptions; - var filterValue = []; - $.each(selectedOptions, function (index, selectedOption) { - filterValue.push(selectedOption.value); - }); - this.filterModel.filter[this.filterMapping.filterName] = filterValue; - } + $(self).trigger('selected-options-updated', [ self ]); + }; - this.init = function () { - var filterValues = WAO.getNestedPropertyValue(this.filterMapping.filterName, this.filterModel); + this.onFilterUpdated = function (filter) { + var selectedOptions = []; + var filterValues = WAO.getNestedPropertyValue(this.filterMapping.filterName, filter); if (filterValues) { - var selectedOptions = []; $.each(filterValues, function (index, filterValue) { selectedOptions.push({ value: filterValue, @@ -303,8 +330,13 @@ label: filterValue, }); }); - this.selectedOptions = selectedOptions; } + this.selectedOptions = selectedOptions; + $(self).trigger('selected-options-updated2', [ self ]); + }; + + this.init = function () { + //this.onFilterUpdated(); } }; @@ -324,7 +356,7 @@ + ' <div class="controls">' + ' <span class="selected-options-container"></span>' + ' <span class="select-container">' - + ' <select name="' + this.model.filterMapping.filterName + '" multiple="multiple" class="input-large">' + + ' <select name="filter.' + this.model.filterMapping.filterName + '" multiple="multiple" class="input-large">' + ' </select>' + ' <button type="button" class="btn btn-link close-button">' + ' <i class="fa fa-check"></i>' @@ -354,6 +386,10 @@ self.updateOptions(); }); + $(this.model).on('selected-options-updated2', function () { + self.updateSelectedOptions(); + }); + this.hide(); };
participants (1)
-
bleny@users.forge.codelutin.com