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}");
}
}
}
}