Control.fromMap constructor

Control.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory Control.fromMap(Map<String, dynamic> map) {
  TextInputType keyType;
  switch (KeyboardType.values.byName(map['keyType'] ?? "Normal")) {
    case KeyboardType.Normal:
      keyType = TextInputType.text;
      break;
    case KeyboardType.Phone:
      keyType = TextInputType.phone;
      break;
    case KeyboardType.Number:
      keyType = TextInputType.number; //numberWithOptions(decimal: true);
      break;
    case KeyboardType.Email:
      keyType = TextInputType.emailAddress;
      break;
    default:
      keyType = TextInputType.text;
  }
  bool enabled = map['enabled'] ?? true;
  bool ocr = map["ocr"] ?? false;
  bool userbuy = map["userbuy"] ?? false;
  bool isShowDK = map["isShowDK"] ?? true;
  bool isShowDKiem = map["isShowDKiem"] ?? true;
  bool isShowCCCD = map["isShowCCCD"] ?? true;
  FormatValuePresent formatShow = FormatValuePresent.values
      .byName(map['formatShow'] ?? FormatValuePresent.Normal.name);
  String value =
      map['value'] ?? (formatShow == FormatValuePresent.Money ? "0" : "");
  RxBool visible = map['visible'] != null && map['visible'] == false
      ? false.obs
      : true.obs;
  bool isShowView =
      map['visible'] != null && map['visible'] == false ? false : true;
  String title = map['title'] ?? "";
  Control control = Control(
    title: title.obs,
    ocr: ocr,
    userbuy: userbuy,
    isShowCCCD: isShowCCCD,
    maxlength: map['maxlength'],
    listData: map['listData'] ?? [],
    id: map['id'] ?? "",
    required: map['required'] ?? false,
    isSearch: map["search"] ?? true,
    isMinDateCurrent: map["mindate"] ?? false,
    isShowDK: isShowDK,
    isShowDKiem: isShowDKiem,
    value: value.obs,
    typeInput: TypeInputForm.values
        .byName(map['typeInput'] ?? TypeInputForm.text.name),
    typeChildInput: TypeChildInputForm.values
        .byName(map['typeChildInput'] ?? TypeChildInputForm.undefined.name),
    keyType: keyType,
    formatShow: formatShow,
    isShowView: isShowView,
    flex: map['flex'] ?? 1,
    enabled: enabled.obs,
    isDouble: map["double"] ?? false,
    keyGetValueForShow: map['keyGetValueForShow'] ?? 'MA',
    keyGetValueForID: map['keyGetValueForID'] ?? 'MA',
    keyGetListDataFormStart: map['keyGetListDataFormStart'] ?? '',
    // _visible: visible
  );

  control.setVisible(visible.value);
  control.style = map['style'] ?? {};
  return control;
}