From 14ed08395bb642a287fb220968003eae1ae1d7a3 Mon Sep 17 00:00:00 2001 From: Graciela Carrillo Date: Sat, 20 Nov 2021 17:28:15 +0000 Subject: [PATCH 1/7] Hide deactivated dates widgets Allow hiding date widgets if that date is deactivated. Let the user pass a boolean to decide if hiding or not. --- lib/date_picker_widget.dart | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/date_picker_widget.dart b/lib/date_picker_widget.dart index 14ca445..94fa024 100644 --- a/lib/date_picker_widget.dart +++ b/lib/date_picker_widget.dart @@ -59,6 +59,11 @@ class DatePicker extends StatefulWidget { /// Locale for the calendar default: en_us final String locale; + //===================== PROPOSED =======================// + /// If providing Active or Deactivated Dates, + // Allow hiding the widgets so there are no spaces in between active dates + final bool hideDeactivatedDates; + DatePicker( this.startDate, { @@ -78,6 +83,8 @@ class DatePicker extends StatefulWidget { this.daysCount = 500, this.onDateChange, this.locale = "en_US", +//===================== PROPOSED =======================// + this.hideDeactivatedDates = false, }) : assert( activeDates == null || inactiveDates == null, "Can't " @@ -173,7 +180,11 @@ class _DatePickerState extends State { _currentDate != null ? _compareDate(date, _currentDate!) : false; // Return the Date Widget - return DateWidget( + return +//===================== PROPOSED: Wrap in visibility widget to hide it if deactivated =========================// + Visibility( + visible: widget.hideDeactivatedDates, + DateWidget( date: date, monthTextStyle: isDeactivated ? deactivatedMonthStyle @@ -204,7 +215,7 @@ class _DatePickerState extends State { } setState(() { _currentDate = selectedDate; - }); + })); }, ); }, From 5ea6e70c3b0e990938f11b81f1fe1091b74308ac Mon Sep 17 00:00:00 2001 From: Graciela Carrillo Date: Sat, 20 Nov 2021 17:44:08 +0000 Subject: [PATCH 2/7] Mistake on closing bracked for Visibility widget --- lib/date_picker_widget.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/date_picker_widget.dart b/lib/date_picker_widget.dart index 94fa024..04915b8 100644 --- a/lib/date_picker_widget.dart +++ b/lib/date_picker_widget.dart @@ -215,9 +215,9 @@ class _DatePickerState extends State { } setState(() { _currentDate = selectedDate; - })); + }); }, - ); + );) }, ), ); From b43cbae4c836a5268aff1848c78945b19173f5b0 Mon Sep 17 00:00:00 2001 From: Graciela Carrillo Date: Sat, 20 Nov 2021 17:57:48 +0000 Subject: [PATCH 3/7] fixed child: missing --- lib/date_picker_widget.dart | 72 ++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/lib/date_picker_widget.dart b/lib/date_picker_widget.dart index 04915b8..b4a89b4 100644 --- a/lib/date_picker_widget.dart +++ b/lib/date_picker_widget.dart @@ -182,42 +182,42 @@ class _DatePickerState extends State { // Return the Date Widget return //===================== PROPOSED: Wrap in visibility widget to hide it if deactivated =========================// - Visibility( - visible: widget.hideDeactivatedDates, - DateWidget( - date: date, - monthTextStyle: isDeactivated - ? deactivatedMonthStyle - : isSelected - ? selectedMonthStyle - : widget.monthTextStyle, - dateTextStyle: isDeactivated - ? deactivatedDateStyle - : isSelected - ? selectedDateStyle - : widget.dateTextStyle, - dayTextStyle: isDeactivated - ? deactivatedDayStyle - : isSelected - ? selectedDayStyle - : widget.dayTextStyle, - width: widget.width, - locale: widget.locale, - selectionColor: - isSelected ? widget.selectionColor : Colors.transparent, - onDateSelected: (selectedDate) { - // Don't notify listener if date is deactivated - if (isDeactivated) return; - - // A date is selected - if (widget.onDateChange != null) { - widget.onDateChange!(selectedDate); - } - setState(() { - _currentDate = selectedDate; - }); - }, - );) + Visibility( + child: DateWidget( + date: date, + monthTextStyle: isDeactivated + ? deactivatedMonthStyle + : isSelected + ? selectedMonthStyle + : widget.monthTextStyle, + dateTextStyle: isDeactivated + ? deactivatedDateStyle + : isSelected + ? selectedDateStyle + : widget.dateTextStyle, + dayTextStyle: isDeactivated + ? deactivatedDayStyle + : isSelected + ? selectedDayStyle + : widget.dayTextStyle, + width: widget.width, + locale: widget.locale, + selectionColor: + isSelected ? widget.selectionColor : Colors.transparent, + onDateSelected: (selectedDate) { + // Don't notify listener if date is deactivated + if (isDeactivated) return; + + // A date is selected + if (widget.onDateChange != null) { + widget.onDateChange!(selectedDate); + } + setState(() { + _currentDate = selectedDate; + }); + }, + ), + visible: widget.hideDeactivatedDates); }, ), ); From 3df692da51efcd069c6d97bf1c73ab0f281259e0 Mon Sep 17 00:00:00 2001 From: Graciela Carrillo Date: Sat, 20 Nov 2021 18:08:09 +0000 Subject: [PATCH 4/7] Added visible: widget.hideDeactivatedDates && isDeactivated ? false : true ); --- lib/date_picker_widget.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/date_picker_widget.dart b/lib/date_picker_widget.dart index b4a89b4..fd6023f 100644 --- a/lib/date_picker_widget.dart +++ b/lib/date_picker_widget.dart @@ -217,7 +217,7 @@ class _DatePickerState extends State { }); }, ), - visible: widget.hideDeactivatedDates); + visible: widget.hideDeactivatedDates && isDeactivated ? false : true ); }, ), ); From 3e8968803301d2dbd805e70400417f508b478172 Mon Sep 17 00:00:00 2001 From: Graciela Carrillo Date: Sat, 20 Nov 2021 18:22:30 +0000 Subject: [PATCH 5/7] hide if isDeacticated Testing visible: isDeactivated ? false : true ) --- lib/date_picker_widget.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/date_picker_widget.dart b/lib/date_picker_widget.dart index fd6023f..c575ee3 100644 --- a/lib/date_picker_widget.dart +++ b/lib/date_picker_widget.dart @@ -217,7 +217,7 @@ class _DatePickerState extends State { }); }, ), - visible: widget.hideDeactivatedDates && isDeactivated ? false : true ); + visible: isDeactivated == true ? false : true ); }, ), ); From 94a52f738ad0f8a72bcf7ce786f5b6b35314c402 Mon Sep 17 00:00:00 2001 From: Graciela Carrillo Date: Sat, 20 Nov 2021 18:30:52 +0000 Subject: [PATCH 6/7] added hideDeactivatedDates to condition for visibility visible: hideDeactivatedDates == true && isDeactivated == true ? false : true ); --- lib/date_picker_widget.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/date_picker_widget.dart b/lib/date_picker_widget.dart index c575ee3..12b0fc0 100644 --- a/lib/date_picker_widget.dart +++ b/lib/date_picker_widget.dart @@ -217,7 +217,7 @@ class _DatePickerState extends State { }); }, ), - visible: isDeactivated == true ? false : true ); + visible: hideDeactivatedDates == true && isDeactivated == true ? false : true ); }, ), ); From b2f2d199bac5f53981507a7ed2c08ac2c591ebe6 Mon Sep 17 00:00:00 2001 From: Graciela Carrillo Date: Thu, 6 Jan 2022 20:17:57 +0000 Subject: [PATCH 7/7] on date_picker_widget should be visible: widget.hideDeactivatedDates, with widget. --- lib/date_picker_widget.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/date_picker_widget.dart b/lib/date_picker_widget.dart index 12b0fc0..bbb365f 100644 --- a/lib/date_picker_widget.dart +++ b/lib/date_picker_widget.dart @@ -217,7 +217,7 @@ class _DatePickerState extends State { }); }, ), - visible: hideDeactivatedDates == true && isDeactivated == true ? false : true ); + visible: widget.hideDeactivatedDates == true && isDeactivated == true ? false : true ); }, ), );