|
233 | 233 | humanParameterName,
|
234 | 234 | showMoreModelName,
|
235 | 235 | selectedValue,
|
236 |
| - parameter; |
| 236 | + parameter, |
| 237 | + filteredOptions; |
237 | 238 |
|
238 | 239 | populateSelectedFiltersFromDefaultValues();
|
239 | 240 |
|
|
250 | 251 | '</div>';
|
251 | 252 |
|
252 | 253 | parameter = filterModal.filters[serverName];
|
253 |
| - html += showMoreHiddenPopUpHtml(parameter.name, showMoreModelName, parameter); |
| 254 | + filteredOptions = filterOptionsByDateAndRelatedToFilters(parameter); |
| 255 | + html += showMoreHiddenPopUpHtml(parameter.name, showMoreModelName, parameter, filteredOptions); |
254 | 256 | });
|
255 | 257 |
|
256 | 258 | return html
|
|
261 | 263 | additionalFilterHtml = '',
|
262 | 264 | realIndex = 0,
|
263 | 265 | tempHtml,
|
264 |
| - showMoreModelName; |
| 266 | + showMoreModelName, |
| 267 | + filteredOptions; |
265 | 268 |
|
266 | 269 | // first 6 filters
|
267 | 270 | $.each(filterModal.settings.filterParameters, function(index, parameter){
|
|
283 | 286 | }
|
284 | 287 |
|
285 | 288 | //additional filters
|
| 289 | + |
286 | 290 | realIndex = 0;
|
287 | 291 | $.each(filterModal.settings.filterParameters, function(index, parameter){
|
288 | 292 | if (!shouldNotRenderParameter(parameter)){
|
|
293 | 297 | additionalFilterHtml += '';
|
294 | 298 | }else{
|
295 | 299 | showMoreModelName = calcShowMoreModelName(parameter.name);
|
296 |
| - tempHtml = showMoreHiddenPopUpHtml(parameter.name, showMoreModelName, parameter); |
| 300 | + filteredOptions = filterOptionsByDateAndRelatedToFilters(parameter); |
| 301 | + tempHtml = showMoreHiddenPopUpHtml(parameter.name, showMoreModelName, parameter, filteredOptions); |
297 | 302 | additionalFilterHtml += '<div class="checkbox"><a data-toggle="modal" data-target="#'+
|
298 | 303 | showMoreModelName+'" data-attribute="'+
|
299 | 304 | parameter.attributeName+'">'+parameter.name+'</a>' +
|
|
647 | 652 |
|
648 | 653 | }
|
649 | 654 |
|
| 655 | + function filterOptionsByDateAndRelatedToFilters(parameter){ |
| 656 | + var filteredOptions; |
| 657 | + |
| 658 | + if (filterModal.startTime || filterModal.endTime) { |
| 659 | + filteredOptions = filterOptionsByDateRange(parameter.options); |
| 660 | + }else{ |
| 661 | + filteredOptions = parameter.options; |
| 662 | + } |
| 663 | + |
| 664 | + // filtering out by relatedTo, if related To selected. |
| 665 | + // for example, not showing BMW option if filter ASIA was selected |
| 666 | + filteredOptions = filterOutSelectedRelatedTo(filteredOptions); |
| 667 | + |
| 668 | + return filteredOptions; |
| 669 | + } |
| 670 | + |
650 | 671 | function filterOptionsByDateRange(options){
|
651 | 672 |
|
652 | 673 | return $.map(options, function(option){
|
|
0 commit comments