CPDFFormAttribute.fromJson constructor

CPDFFormAttribute.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory CPDFFormAttribute.fromJson(Map<String, dynamic> json) {
  T parse<T>(String key, T Function(Map<String, dynamic>) fromJson) {
    final value = json[key];
    if (value is Map) {
      return fromJson(Map<String, dynamic>.from(value));
    } else {
      throw FormatException('Invalid or missing attribute: $key');
    }
  }

  return CPDFFormAttribute(
    textFieldAttr: parse('textFieldAttr', CPDFTextFieldAttr.fromJson),
    checkBoxAttr: parse('checkBoxAttr', CPDFCheckBoxAttr.fromJson),
    radioButtonAttr: parse('radioButtonAttr', CPDFRadioButtonAttr.fromJson),
    listBoxAttr: parse('listBoxAttr', CPDFListBoxAttr.fromJson),
    comboBoxAttr: parse('comboBoxAttr', CPDFComboBoxAttr.fromJson),
    pushButtonAttr: parse('pushButtonAttr', CPDFPushButtonAttr.fromJson),
    signaturesFieldsAttr:
        parse('signaturesFieldsAttr', CPDFSignatureWidgetAttr.fromJson),
  );
}