feat: Adiciona FormTable, FormGroupTable, UncontrolledFormTable e UncontrolledFormGroupTable #82
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
card criar FormTable/FormList no RBU
Descrição
Este PR tem a inteção de implementar novos campos para os formularios do RBU.
Os novos campos são tabelas de itens. A ideia surgiu no https://github.com/geolaborapp/geolabor/pull/9241/files#diff-9113f84bb39b98160a16c4b5b9a9c2953784bb59b13c312af2303293d864e801, onde foi necesario um campo desses, e tivemos que fazer uma validação usando um throw new Error.
A ideia dos novos campo é criar uma maneira mais facil de implementar campos de "array" em formularios, e que esses campos possam ser validados pelo proprio form do RBU, sem a necessidade de validações no onSubmit
sobre o uso do componente
As props mais importantes do componente são a "tableProps", a "getRemoveComponent" e a "getAddItemComponent".
Na "tableProps" é importante definir as columns e o actionLabel.
No "getRemoveComponent" a ideia é passar uma função que retorne um componente que vai lidar com a exclusão do item da tabela.
No "getAddItemComponent" a ideia é passar uma função que retorne um componente que vai gerar novos itens. Acredito que o mais comum vai ser um modal com outro form.
O spread do tableProps acontece depois das definições das props padrão que usei. Fiz isso para permitir customizar ainda mais o componente.
Ao revisor
Eu precisei fazer uma correção nas validações do UncontrolledForm. Do jeito que estava antes, as validações aparentemente só aconteciam no momento em que os campo era registrados. Agora elas devem acontecer sempre que o form sofrer alterações.
Ao tester
teste os novos campo nos dois forms