name property

String get name
inherited

Implementation

String get name => _componentName;
  1. @override
set name (String value)
override

Implementation

@override
set name(String value) {
  String checkName(String fieldName) {
    var result = fieldName;
    var i = 0;
    var j = 0;
    // Check if fieldname exists. (original comment kept as-is)
    while (i < fields.count) {
      if (result.toUpperCase() != fields[i].name.toUpperCase()) {
        i++;
      } else {
        j++;
        result = '$fieldName$j';
        i = 0;
      }
    }
    // Check if component with the same name exists.
    if (owner != null) {
      while (owner!.findComponent(result) != null) {
        j++;
        result = '$fieldName$j';
      }
    }
    return result;
  }

  if (name == value) return;
  final oldName = name;
  super.name = value;
  if (componentState.contains(TComponentStateItem.csDesigning)) {
    for (var i = 0; i < fields.count; i++) {
      final oldFieldName = '$oldName${fields[i].fieldName}';
      if (fields[i].name.startsWith(oldFieldName)) {
        fields[i].name = checkName("$value${fields[i].fieldName}");
      }
    }
  }
}