From 0d05a50e19b71cade636d9ca4882e453f614a78c Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Wed, 13 Nov 2013 15:49:25 +0100 Subject: webui: field and widget binding refactoring This is a Web UI wide change. Fields and Widgets binding was refactored to enable proper two-way binding between them. This should allow to have one source of truth (field) for multiple consumers - widgets or something else. One of the goal is to have fields and widget implementations independent on each other. So that one could use a widget without field or use one field for multiple widgets, etc.. Basically a fields logic was split into separate components: - adapters - parsers & formatters - binder Adapters - extract data from data source (FreeIPA RPC command result) - prepares them for commands. Parsers - parse extracted data to format expected by field - parse widget value to format expected by field Formatters - format field value to format suitable for widgets - format field value to format suitable for adapter Binder - is a communication bridge between field and widget - listens to field's and widget's events and call appropriate methods Some side benefits: - better validation reporting in multivalued widget Reviewed-By: Adam Misnyovszki --- install/ui/test/data/ipa_init.json | 2 ++ 1 file changed, 2 insertions(+) (limited to 'install/ui/test/data') diff --git a/install/ui/test/data/ipa_init.json b/install/ui/test/data/ipa_init.json index e7c58e66c..059726fea 100644 --- a/install/ui/test/data/ipa_init.json +++ b/install/ui/test/data/ipa_init.json @@ -560,6 +560,7 @@ "error": "Text does not match field pattern", "datetime": "Must be an UTC date/time value (e.g., \"2014-01-20 17:58:01Z\")", "decimal": "Must be a decimal number", + "format": "Format error", "integer": "Must be an integer", "ip_address": "Not a valid IP address", "ip_v4_address": "Not a valid IPv4 address", @@ -567,6 +568,7 @@ "max_value": "Maximum value is ${value}", "min_value": "Minimum value is ${value}", "net_address": "Not a valid network address", + "parse": "Parse error", "port": "'${port}' is not a valid port", "required": "Required field", "unsupported": "Unsupported value" -- cgit