|
343 | 343 | realIndex = 0,
|
344 | 344 | tempHtml,
|
345 | 345 | showMoreModelName,
|
346 |
| - filteredOptions, |
347 | 346 | maxFilters = filterModal.settings.MAX_FILTERS,
|
348 | 347 | reachedMax = false;
|
349 | 348 |
|
|
385 | 384 | tempHtml;
|
386 | 385 | reachedMax = true;
|
387 | 386 | }else {
|
388 |
| - additionalFilterHtml += singleFilterLinkHtml(parameter) |
| 387 | + additionalFilterHtml += singleFilterLinkHtml(parameter, 'both') |
389 | 388 | }
|
390 | 389 | }
|
391 | 390 | });
|
|
406 | 405 | }
|
407 | 406 |
|
408 | 407 |
|
409 |
| - function singleFilterLinkHtml(parameter){ |
410 |
| - var showMoreModelName, filteredOptions, tempHtml, html; |
| 408 | + function singleFilterLinkHtml(parameter, renderType){ |
| 409 | + var showMoreModelName, |
| 410 | + filteredOptions, |
| 411 | + hiddenPopUpHtml, |
| 412 | + html, |
| 413 | + link; |
| 414 | + |
411 | 415 | if (shouldNotRenderParameter(parameter)) {
|
412 | 416 | html = '';
|
413 | 417 | } else {
|
414 | 418 | showMoreModelName = calcShowMoreModelName(parameter.name);
|
415 | 419 | filteredOptions = filterOptionsByDateAndRelatedToFilters(parameter);
|
416 |
| - tempHtml = showMoreHiddenPopUpHtml(parameter.name, showMoreModelName, parameter, filteredOptions); |
417 |
| - html = '<div class="checkbox"><a class="bootstrap-single-link-modal-js" data-toggle="modal" data-target="#' + |
| 420 | + hiddenPopUpHtml = showMoreHiddenPopUpHtml(parameter.name, showMoreModelName, parameter, filteredOptions); |
| 421 | + link = '<div class="checkbox"><a class="bootstrap-single-link-modal-js" data-toggle="modal" data-target="#' + |
418 | 422 | showMoreModelName + '" data-attribute="' +
|
419 | 423 | parameter.attributeName + '">' + parameter.name + '</a>' +
|
420 |
| - '</div>' + |
421 |
| - tempHtml; |
| 424 | + '</div>'; |
| 425 | + if (renderType == 'hidden-popups-only'){ |
| 426 | + html = hiddenPopUpHtml |
| 427 | + } else if (renderType == 'links-only'){ |
| 428 | + html = link |
| 429 | + }else { |
| 430 | + html = link + hiddenPopUpHtml; |
| 431 | + } |
| 432 | + |
422 | 433 | }
|
423 | 434 |
|
424 | 435 | return html
|
|
486 | 497 | // this hidden pop up will contain others filters.
|
487 | 498 | // if the number of filters is bigger than 16, it won't hold in the main html.
|
488 | 499 | function OthersHiddenPopUpHtml(allParametersToRender){
|
489 |
| - return '<div id="'+filterModal.settings.OTHERS_MODEL_NAME+'" class="modal fade in bootstrap-modal-js">'+ |
| 500 | + var renderType = 'hidden-popups-only'; |
| 501 | + var html = '<div id="'+filterModal.settings.OTHERS_MODEL_NAME+'" class="modal fade in bootstrap-modal-js">'+ |
490 | 502 | '<div class="modal-dialog">' +
|
491 | 503 | '<div class="modal-content">' +
|
492 | 504 | '<div class="modal-header">' +
|
|
504 | 516 | '</div><!-- /.modal-dialog -->' +
|
505 | 517 | '</div><!-- /.modal -->';
|
506 | 518 |
|
| 519 | + //render hidden pop ups html outside so that when hiding the others pop up it wont hide the selected pop up |
| 520 | + $.each(allParametersToRender, function (index, filterParameter) { |
| 521 | + if (index > filterModal.settings.MAX_FILTERS) { |
| 522 | + html += singleFilterLinkHtml(filterParameter, renderType) |
| 523 | + } |
| 524 | + }); |
| 525 | + |
| 526 | + return html |
| 527 | + |
| 528 | + |
507 | 529 | }
|
508 | 530 |
|
509 | 531 | function otherFiltersHtml(allParametersToRender){
|
510 |
| - var html = ''; |
| 532 | + var html = '', renderType = 'links-only'; |
511 | 533 | $.each(allParametersToRender, function (index, filterParameter) {
|
512 |
| - if (index >= filterModal.settings.MAX_FILTERS) { |
513 |
| - html += singleFilterLinkHtml(filterParameter) |
| 534 | + if (index > filterModal.settings.MAX_FILTERS) { |
| 535 | + html += singleFilterLinkHtml(filterParameter, renderType) |
514 | 536 | }
|
515 | 537 | });
|
516 | 538 |
|
|
0 commit comments