Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[refactor] Remover dependência do Modular SupportCenterShowPage #386

Merged
merged 6 commits into from
Jan 13, 2025

Conversation

shonorio
Copy link
Collaborator

Este PR introduz alterações na página de exibição do centro de suporte (support_center_show_page.dart), no controlador (support_center_show_controller.dart) e no módulo principal (mainboard_module.dart), além de ajustes nos testes relacionados. As mudanças visam melhorar a injeção de dependências, corrigir problemas de inicialização e garantir a consistência dos testes.

Principais Alterações:

  1. Refatoração da Injeção de Dependências:

    • Remoção da dependência direta do Modular na página SupportCenterShowPage.
    • O controlador (SupportCenterShowController) agora é injetado diretamente no construtor da página, tornando o código mais explícito e testável.
    • Ajuste no MainboardModule para passar o controlador corretamente ao navegar para a rota /supportcenter/show.
  2. Correção de Inicialização do Controlador:

    • Adição de um método initialize no controlador para garantir que a configuração inicial seja feita de forma assíncrona.
    • Chamada do método initialize no initState da página, utilizando WidgetsBinding.instance.addPostFrameCallback para garantir que a inicialização ocorra após o primeiro frame.
  3. Desabilitação do JavaScript no WebView:

    • Criação de uma classe _DisabledWebViewJsWidgetFactory para desabilitar o JavaScript no HtmlWidget, melhorando a segurança e o desempenho.
  4. Refatoração dos Testes:

    • Remoção da configuração do Modular nos testes, simplificando a inicialização do controlador.
    • O controlador é criado diretamente nos testes, eliminando a necessidade de mocks complexos e inicialização de módulos.
    • Ajuste nos testes para utilizar a nova forma de injeção do controlador.
  5. Testes de Screenshot:

    • Os testes de screenshot foram atualizados para utilizar a nova forma de construção da página, garantindo que a renderização continue consistente.

Issues:

Fixes #333

@shonorio shonorio requested a review from a team as a code owner January 12, 2025 19:25
@shonorio shonorio self-assigned this Jan 12, 2025
@shonorio shonorio added dependencies Pull requests that update a dependency file deprecation Para destacar o uso de componentes obsoletos refactor Envolve melhorias no código, como substituir o componentes obsoletos labels Jan 12, 2025
@shonorio shonorio changed the title Refactor Remover dependencias do Modular SupportCenterShowPage Refactor Remover dependência do Modular SupportCenterShowPage Jan 12, 2025
@shonorio shonorio changed the title Refactor Remover dependência do Modular SupportCenterShowPage [refactor] Remover dependência do Modular SupportCenterShowPage Jan 12, 2025
- Removida a dependência do Modular e do `ModularState` na `SupportCenterShowPage`.
- Injetado o `SupportCenterShowController` diretamente na `SupportCenterShowPage`.
- Adicionado getter para acessar o controller no estado da página.
- Removida a chamada automática de `setup()` no construtor do `SupportCenterShowController`.
- Adicionado método `initialize()` para permitir a inicialização manual do controller.
- Melhorado o controle sobre quando o `setup()` é executado.
- Adicionado método `initState` na `SupportCenterShowPage` para inicializar o controller após o primeiro frame.
- Utilizado `WidgetsBinding.instance.addPostFrameCallback` para garantir que o método `initialize` do controller seja chamado após a construção do widget.
Copy link

codeclimate bot commented Jan 13, 2025

Code Climate has analyzed commit 9a9d3cc and detected 1 issue on this pull request.

Here's the issue category breakdown:

Category Count
Complexity 1

View more on Code Climate.

@shonorio shonorio merged commit 11792c6 into main Jan 13, 2025
8 checks passed
@shonorio shonorio deleted the shonorio/issue333 branch January 13, 2025 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file deprecation Para destacar o uso de componentes obsoletos refactor Envolve melhorias no código, como substituir o componentes obsoletos
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Substituir ModularState por State e injetar *Controller via parâmetro no SupportCenterShowPage
2 participants