updateFromWidget method

void updateFromWidget(
  1. PickerPlusRangeDatePicker oldWidget,
  2. PickerPlusRangeDatePicker newWidget
)

Implementation

void updateFromWidget(PickerPlusRangeDatePicker oldWidget, PickerPlusRangeDatePicker newWidget) {
  if (oldWidget.initialPickerType != newWidget.initialPickerType) {
    pickerType.value = newWidget.initialPickerType;
  }

  if (oldWidget.selectedRange != newWidget.selectedRange) {
    if (newWidget.selectedRange == null) {
      selectedStartDate.value = null;
      selectedEndDate.value = null;
    } else {
      selectedStartDate.value =
          DateUtils.dateOnly(newWidget.selectedRange!.start);
      selectedEndDate.value =
          DateUtils.dateOnly(newWidget.selectedRange!.end);
    }
  }

  if (oldWidget.initialDate != newWidget.initialDate) {
    final clampedInitialDate = PickerPlusDateUtilsX.clampDateToRange(
      max: newWidget.maxDate,
      min: newWidget.minDate,
      date: DateTime.now(),
    );
    displayedDate.value =
        DateUtils.dateOnly(newWidget.initialDate ?? clampedInitialDate);
  }
}