DateTimeElement.fromMap constructor

DateTimeElement.fromMap(
  1. dynamic map
)

Implementation

factory DateTimeElement.fromMap(dynamic map) {
  DateTimeVisibilityMode mode;

  switch (map[ModelFieldConstants.mode]) {
    case "date":
      mode = DateTimeVisibilityMode.date;
      break;
    case "dateTime":
      mode = DateTimeVisibilityMode.dateTime;
      break;
    case "time":
      mode = DateTimeVisibilityMode.time;
      break;
    default:
      mode = DateTimeVisibilityMode.dateTime;
      break;
  }

  DateTime? from;
  DateTime? to;
  DateTime? defaultDateTime;

  try {
    if (mode == DateTimeVisibilityMode.time) {
      from = DateTime.parse(
          (cometchatConstantString + map[ModelFieldConstants.from]));
      defaultDateTime = DateTime.parse(
          (cometchatConstantString + map[ModelFieldConstants.defaultValue]));
    } else {
      from = DateTime.parse(map[ModelFieldConstants.from]);
      defaultDateTime = DateTime.parse(map[ModelFieldConstants.defaultValue]);
    }
  } catch (_) {}

  try {
    if (mode == DateTimeVisibilityMode.time) {
      to = DateTime.parse(
          (cometchatConstantString + map[ModelFieldConstants.to]));
    } else {
      to = DateTime.parse(map[ModelFieldConstants.to]);
    }
  } catch (_) {}

  if (kDebugMode) {
    print("_defaultDateTime is $defaultDateTime");
  }
  return DateTimeElement(
    elementType: map[ModelFieldConstants.elementType],
    elementId: map[ModelFieldConstants.elementId],
    optional: map[ModelFieldConstants.optional],
    label: map[ModelFieldConstants.label],
    defaultValue: map[ModelFieldConstants.defaultValue],
    defaultDateTime: defaultDateTime,
    formattedResponse: defaultDateTime,
    //response:map[ModelFieldConstants.response],
    mode: mode,
    placeholder: map[ModelFieldConstants.placeholder],
    from: from,
    to: to,
    dateTimeFormat: map[ModelFieldConstants.dateTimeFormat],
  );
}