- LinkedSetField
- SelectObjectField
- MultipleChoicesField (warning this hierarchy contains non multiple value fields like SelectField !)
Also change AbstractValidator::Validate signature : now we are returning an array of error messages, so that we can return multiple ones
New AbstractValidator class, with new method Validate
All existing validators are now children of AbstractRegexpValidator
Handle validators JS counterparts in renderers : only regexp validators are implemented client side
Was caused by field value check added in MultipleChoicesField and SelectObjectField in b71cd218
With this commit the checks are now only done if we have a ContextTag::TAG_REST
- Remove input when object is in view mode
- Improve form errors handling
- Prevent row selection when clicking input
- Attach date time picker to table instead of input to prevent popup truncating (popup will be visible but not aligned on the input)
Since introduction of MultipleChoicesField and SelectObjectField value checks with b71cd218, when a portal user was trying to do an action on a resolved UR the agent_id field was rejected. The reason for the rejection is the corresponding SelectObjectField query is containing the portal user scopes (query generated in ObjectFormManager::Build), and of course the agent_id set isn't in this scope...
As a workaround we are disabling those checks for read only fields (values are set server side and possibly in a different context than the portal user)
* Change visibility from public to protected of methods for which it was not necessary
* Change visibility from static to non-static of methods that could be used as such for easier testability
* Cache available routes for better performances
* Finish Router::GetRoutes() so we can use the available routes data to display them to the developers somewhere (ideally in the toolkit)
* Improve unit tests
N°6154 - n:n Read - tooltip, confirmation title and message on Add-Edit-Remove
N°6219 - 1:n Read: tooltip, modal title and message on Add-Edit-Remove-Delete
Factorized code from \DataTableUIBlockFactory::MakeForRenderingObject() into \DataTableUIBlockFactory::MakeForRendering as 95% of their code where duplicated. 😵
\DataTableUIBlockFactory::MakeForRenderingObject() is now deprecated.