From d27cd18f563bdad2f98f36d9609a651d16388c7f Mon Sep 17 00:00:00 2001 From: cyrillefr Date: Sat, 27 Jan 2024 11:38:23 +0100 Subject: [PATCH 1/4] Force start date before end date with range mode flatpickr - modify view to get a flatpickr component in range mode - modify spec to take into account range mode --- app/views/admin/reports/_date_range_form.html.haml | 9 ++++----- spec/system/admin/reports/orders_and_fulfillment_spec.rb | 7 ++++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/views/admin/reports/_date_range_form.html.haml b/app/views/admin/reports/_date_range_form.html.haml index 0afa600cae..ccd8151de9 100644 --- a/app/views/admin/reports/_date_range_form.html.haml +++ b/app/views/admin/reports/_date_range_form.html.haml @@ -6,8 +6,7 @@ .row.date-range-filter .alpha.two.columns= label_tag nil, t(:date_range) - .omega.fourteen.columns - = f.text_field "#{field}_gt", :class => 'datetimepicker datepicker-from', :placeholder => t(:start), data: { controller: "flatpickr", "flatpickr-enable-time-value": true, "flatpickr-default-date-value": "startOfDay" }, value: start_date - %span.range-divider - %i.icon-arrow-right - = f.text_field "#{field}_lt", :class => 'datetimepicker datepicker-to', :placeholder => t(:stop), data: { controller: "flatpickr", "flatpickr-enable-time-value": true, "flatpickr-default-date-value": "endOfDay" }, value: end_date + .omega.fourteen.columns{ data: { controller: "flatpickr", "flatpickr-mode-value": "range" } } + = text_field_tag nil, nil, class: "datepicker", data: { "flatpickr-target": "instance", action: "flatpickr_clear@window->flatpickr#clear" } + = text_field_tag "q[#{field}_gt]", nil, data: { "flatpickr-target": "start" }, style: "display: none", value: start_date + = text_field_tag "q[#{field}_lt]", nil, data: { "flatpickr-target": "end" }, style: "display: none", value: end_date diff --git a/spec/system/admin/reports/orders_and_fulfillment_spec.rb b/spec/system/admin/reports/orders_and_fulfillment_spec.rb index 4be6589234..0b40a3eaa2 100644 --- a/spec/system/admin/reports/orders_and_fulfillment_spec.rb +++ b/spec/system/admin/reports/orders_and_fulfillment_spec.rb @@ -125,8 +125,8 @@ RSpec.describe "Orders And Fulfillment" do it "is precise to time of day, not just date" do # When I generate a customer report # with a timeframe that includes one order but not the other - pick_datetime "#q_completed_at_gt", datetime_start1 - pick_datetime "#q_completed_at_lt", datetime_end + find("input.datepicker").click + select_dates_from_daterangepicker datetime_start1, datetime_end find("#display_summary_row").set(false) # hides the summary rows run_report @@ -141,7 +141,8 @@ RSpec.describe "Orders And Fulfillment" do # 2 rows for order1 + 1 summary row # setting a time interval to include both orders - pick_datetime "#q_completed_at_gt", datetime_start2 + find("input.datepicker").click + select_dates_from_daterangepicker datetime_start2, Time.zone.now run_report # Then I should see the rows for both orders expect(all('table.report__table tbody tr').count).to eq(5) From 72301f3ad89c870620ba80a700bacd8f58654c47 Mon Sep 17 00:00:00 2001 From: cyrillefr Date: Thu, 1 Feb 2024 20:03:04 +0100 Subject: [PATCH 2/4] Add Time in flatpickr control --- app/views/admin/reports/_date_range_form.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/reports/_date_range_form.html.haml b/app/views/admin/reports/_date_range_form.html.haml index ccd8151de9..afe261d295 100644 --- a/app/views/admin/reports/_date_range_form.html.haml +++ b/app/views/admin/reports/_date_range_form.html.haml @@ -6,7 +6,7 @@ .row.date-range-filter .alpha.two.columns= label_tag nil, t(:date_range) - .omega.fourteen.columns{ data: { controller: "flatpickr", "flatpickr-mode-value": "range" } } + .omega.fourteen.columns{ data: { controller: "flatpickr", "flatpickr-mode-value": "range", "flatpickr-enable-time-value": true , "flatpickr-default-hour": 0 } } = text_field_tag nil, nil, class: "datepicker", data: { "flatpickr-target": "instance", action: "flatpickr_clear@window->flatpickr#clear" } = text_field_tag "q[#{field}_gt]", nil, data: { "flatpickr-target": "start" }, style: "display: none", value: start_date = text_field_tag "q[#{field}_lt]", nil, data: { "flatpickr-target": "end" }, style: "display: none", value: end_date From 396ea65bc6ea8d42329dcb691d6e832dc9c70c4d Mon Sep 17 00:00:00 2001 From: cyrillefr Date: Thu, 1 Feb 2024 21:09:06 +0100 Subject: [PATCH 3/4] Bugfix on spec --- spec/system/admin/reports/orders_and_fulfillment_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/system/admin/reports/orders_and_fulfillment_spec.rb b/spec/system/admin/reports/orders_and_fulfillment_spec.rb index 0b40a3eaa2..971484492a 100644 --- a/spec/system/admin/reports/orders_and_fulfillment_spec.rb +++ b/spec/system/admin/reports/orders_and_fulfillment_spec.rb @@ -127,6 +127,7 @@ RSpec.describe "Orders And Fulfillment" do # with a timeframe that includes one order but not the other find("input.datepicker").click select_dates_from_daterangepicker datetime_start1, datetime_end + find(".shortcut-buttons-flatpickr-button").click # closes flatpickr find("#display_summary_row").set(false) # hides the summary rows run_report From 3451be40433bb41374ba48ad41ec6a4361fa3db4 Mon Sep 17 00:00:00 2001 From: cyrillefr Date: Thu, 23 May 2024 08:26:14 +0200 Subject: [PATCH 4/4] Increasing the placeholder size --- app/views/admin/reports/_date_range_form.html.haml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/views/admin/reports/_date_range_form.html.haml b/app/views/admin/reports/_date_range_form.html.haml index afe261d295..040344e622 100644 --- a/app/views/admin/reports/_date_range_form.html.haml +++ b/app/views/admin/reports/_date_range_form.html.haml @@ -6,7 +6,9 @@ .row.date-range-filter .alpha.two.columns= label_tag nil, t(:date_range) - .omega.fourteen.columns{ data: { controller: "flatpickr", "flatpickr-mode-value": "range", "flatpickr-enable-time-value": true , "flatpickr-default-hour": 0 } } - = text_field_tag nil, nil, class: "datepicker", data: { "flatpickr-target": "instance", action: "flatpickr_clear@window->flatpickr#clear" } - = text_field_tag "q[#{field}_gt]", nil, data: { "flatpickr-target": "start" }, style: "display: none", value: start_date - = text_field_tag "q[#{field}_lt]", nil, data: { "flatpickr-target": "end" }, style: "display: none", value: end_date + .omega.fourteen.columns + .field-block.omega.four.columns + .date-range-fields{ data: { controller: "flatpickr", "flatpickr-mode-value": "range", "flatpickr-enable-time-value": true , "flatpickr-default-hour": 0 } } + = text_field_tag nil, nil, class: "datepicker fullwidth", data: { "flatpickr-target": "instance", action: "flatpickr_clear@window->flatpickr#clear" } + = text_field_tag "q[#{field}_gt]", nil, data: { "flatpickr-target": "start" }, style: "display: none", value: start_date + = text_field_tag "q[#{field}_lt]", nil, data: { "flatpickr-target": "end" }, style: "display: none", value: end_date