getProperties method

  1. @override
Map<String, dynamic> getProperties({
  1. Element? ancestor,
})
override

Implementation

@override
Map<String, dynamic> getProperties({Element? ancestor}) {
  Map<String, dynamic> properties = super.getProperties(ancestor: ancestor);

  String? className;

  // DatePickerDialog
  if (element.widget is DatePickerDialog) {
    DatePickerDialog datePickerDialog = element.widget as DatePickerDialog;
    properties[WidgetProperty.value.name] =
        "${datePickerDialog.initialDate?.year}-${datePickerDialog.initialDate?.month}-${datePickerDialog.initialDate?.day}";
    className = RanorexSupportedClassName.datePicker;
  }

  // TimePickerDialog
  else if (element.widget is TimePickerDialog) {
    TimePickerDialog timePickerDialog = element.widget as TimePickerDialog;
    className = RanorexSupportedClassName.timePicker;

    properties[WidgetProperty.value.name] =
        "${timePickerDialog.initialTime.hour}:${timePickerDialog.initialTime.minute}";
  }

  // CalendarDatePicker
  else if (element.widget is CalendarDatePicker) {
    CalendarDatePicker calendarDatePicker =
        element.widget as CalendarDatePicker;

    className = RanorexSupportedClassName.calendarDatePicker;
    properties[WidgetProperty.value.name] =
        "${calendarDatePicker.initialDate?.year}-${calendarDatePicker.initialDate?.month}-${calendarDatePicker.initialDate?.day}";
  }

  properties[WidgetProperty.className.name] = className;
  properties[WidgetProperty.accessibilityLabel.name] =
      element.findAncestorWidgetOfExactType<Semantics>()?.properties.label ??
          '';

  return properties;
}