startFormFieldValueChangedListener function

CancelListener startFormFieldValueChangedListener(
  1. FormFieldValueChangedListener listener
)

Listens for changes to the value of form fields.

var fieldChangedCancel = startFormFieldValueChangedListener((fields) {
  for (Field field in fields) {
    print('Field has name ${field.fieldName}');
    print('Field has value ${field.fieldValue}');
  }
});

Returns a function that can cancel the listener.

Implementation

CancelListener startFormFieldValueChangedListener(
    FormFieldValueChangedListener listener) {
  var subscription = _formFieldValueChangedChannel
      .receiveBroadcastStream(eventSinkId.formFieldValueChangedId.index)
      .listen((fieldsString) {
    List<dynamic> fields = jsonDecode(fieldsString);
    List<Field> fieldList = new List<Field>.empty(growable: true);
    for (dynamic field in fields) {
      fieldList.add(new Field.fromJson(field));
    }
    listener(fieldList);
  }, cancelOnError: true);

  return () {
    subscription.cancel();
  };
}