From fef81e8ca689f5340c291fd5d1bb5d069f773992 Mon Sep 17 00:00:00 2001 From: Magdalena Turska Date: Wed, 29 Nov 2017 18:43:02 +0100 Subject: [PATCH] feat(date filter) aggregate partial date controls (mm dd yyyy) into single query param and back; addresses #288 --- pages/search/_filter-date.html | 2 ++ pages/search/_filter-row.html | 2 +- pages/search/_sort-by-button.html | 2 +- resources/scripts/app.js | 29 +++++++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/pages/search/_filter-date.html b/pages/search/_filter-date.html index f3ff59149..541a1931e 100644 --- a/pages/search/_filter-date.html +++ b/pages/search/_filter-date.html @@ -24,6 +24,7 @@

From

+ @@ -86,6 +87,7 @@

To

+
diff --git a/pages/search/_filter-row.html b/pages/search/_filter-row.html index 6f0481596..d848aded7 100644 --- a/pages/search/_filter-row.html +++ b/pages/search/_filter-row.html @@ -2,4 +2,4 @@
-
+
\ No newline at end of file diff --git a/pages/search/_sort-by-button.html b/pages/search/_sort-by-button.html index 5b7750d95..296b958e7 100644 --- a/pages/search/_sort-by-button.html +++ b/pages/search/_sort-by-button.html @@ -25,4 +25,4 @@
- + \ No newline at end of file diff --git a/resources/scripts/app.js b/resources/scripts/app.js index 143bebba0..a6b5c82d5 100644 --- a/resources/scripts/app.js +++ b/resources/scripts/app.js @@ -127,6 +127,18 @@ $(document).ready(function() { action += '&' + volumesFilter.serialize(); action += serializeFiltersByName(queryForm, 'match'); action += serializeFiltersByName(formFilters, 'section'); + //action += serializeFiltersByName(dateFilter, 'start_date'); + //aggregate criteria from partial date controls (month day year) into single query param + if ($('#start_date_3').val()) { + var startDate = [$('#start_date_3').val().padStart(4, '0'), $('#start_date_1').val().padStart(2, '0'), $('#start_date_2').val().padStart(2, '0')]; + action += '&start_date=' + startDate.join('-'); + } + //action += serializeFiltersByName(dateFilter, 'end_date'); + var endDate = [$('#end_date_3').val().padStart(4, '0'), $('#end_date_1').val().padStart(2, '0'), $('#end_date_2').val().padStart(2, '0')]; + action += '&end_date=' + endDate.join('-'); + console.log(action); + //action += serializeFiltersByName(dateFilter, 'start_time'); + //action += serializeFiltersByName(dateFilter, 'end_time'); action += serializeFiltersByName(sectionFilter, 'within'); var currentActiveSorting = sortingForm.find('.active'); @@ -138,6 +150,19 @@ $(document).ready(function() { } if (mainForm.get(0)) { + + //TODO refactor and cover cases of empty day/month + //split aggregated date query and set up values for partial date controls + var startDate = mainForm.find('input[name="start_date"]').val(); + var splitStartDate = startDate.split('-'); + $('#start_date_3').val(splitStartDate[0]); + $('#start_date_1').val(splitStartDate[1]); + $('#start_date_2').val(splitStartDate[2]); + var endDate = mainForm.find('input[name="end_date"]').val(); + var splitEndDate = endDate.split('-'); + $('#end_date_3').val(splitEndDate[0]); + $('#end_date_1').val(splitEndDate[1]); + $('#end_date_2').val(splitEndDate[2]); mainForm.on('submit', submitSearch); mainButton.on('click', submitSearch); } @@ -203,8 +228,12 @@ $(document).ready(function() { if (documentsInput.is( ":checked" ) && allSelectedButDocuments()) { dateComponent.removeClass("hsg-hidden"); dateComponent.addClass("hsg-active"); +<<<<<<< HEAD s } +======= + } +>>>>>>> feat(date filter) aggregate partial date controls (mm dd yyyy) into single query param and back; addresses #288 else { dateComponent.addClass("hsg-hidden"); dateComponent.removeClass("hsg-active");