Update plugins

This commit is contained in:
Adrien Ufferte
2026-03-09 09:17:36 +01:00
parent b517ab9897
commit b4f9fbe904
62 changed files with 237 additions and 236 deletions
+18 -27
View File
@@ -2,7 +2,7 @@
extends Control
class_name FormValidator
signal control_validated(control: Control, passed: bool, messages: PackedStringArray)
signal control_validated(control, passed, messages)
class ValidatorInfo extends RefCounted:
var control: Control
@@ -14,8 +14,8 @@ class ValidatorInfo extends RefCounted:
validation_method = value
_update_validation_methods()
var _control_validator_map: Dictionary[Control, Validator] = {}
var _control_messages_map: Dictionary[Control, PackedStringArray] = {}
var _control_validator_map: Dictionary = {}
var _control_messages_map: Dictionary = {}
func _ready() -> void:
@@ -36,38 +36,29 @@ func get_messages_for_control(control: Control) -> PackedStringArray:
func validate() -> bool:
_control_messages_map.clear()
var list: Array[ValidatorInfo] = _get_validator_info_list()
var valid: bool = true
for info: ValidatorInfo in list:
var list = _get_validator_info_list()
var valid = true
for info in list:
if info.validator.skip_validation:
continue
var control: Control = info.control as Control
if control == null:
Log.error("FormValidator: ValidatorInfo.control is not a Control: %s" % [info.control])
continue
var passed: bool = info.validator.validate(control)
var messages: PackedStringArray = info.validator.get_messages()
var passed = info.validator.validate(info.control)
var messages = info.validator.get_messages()
if not passed:
_control_messages_map[control] = messages
control_validated.emit(control, passed, messages)
_control_messages_map[info.control] = messages
control_validated.emit(info.control, passed, messages)
valid = valid and passed
if not valid and validation_method == Validation.Method.IMMEDIATE:
return valid
return valid
func _get_validator_info_list() -> Array[ValidatorInfo]:
var list: Array[ValidatorInfo] = []
for controlKey: Control in _control_validator_map.keys():
var control: Control = controlKey as Control
if control == null:
Log.error("FormValidator: _control_validator_map key is not a Control")
continue
var validator: Validator = _control_validator_map[control]
for control in _control_validator_map.keys():
var validator = _control_validator_map[control]
if not validator:
continue
var info: ValidatorInfo = ValidatorInfo.new()
var info = ValidatorInfo.new()
info.control = control
info.validator = validator
list.append(info)
@@ -78,9 +69,9 @@ func _get_validator_info_list() -> Array[ValidatorInfo]:
func _update_validation_methods() -> void:
var validators: Array = _control_validator_map.values()
var validators = _control_validator_map.values()
for item in validators:
var validator: Validator = item as Validator
var validator = item as Validator
if not validator:
continue
validator.validation_method = validation_method
@@ -88,7 +79,7 @@ func _update_validation_methods() -> void:
func _find_validators(node: Node) -> void:
for child in node.get_children():
var control_validator: ControlValidator = child as ControlValidator
var control_validator = child as ControlValidator
if control_validator:
control_validator._on_validator_added()
_find_validators(child)
@@ -97,10 +88,10 @@ func _find_validators(node: Node) -> void:
func _auto_validate(control: Control) -> void:
if not auto_validate:
return
var validator: Validator = _control_validator_map[control] as Validator
var validator = _control_validator_map[control] as Validator
if not validator:
return
var passed: bool = validator.validate(control)
var passed = validator.validate(control)
control_validated.emit(control, passed, validator.get_messages())