Problema com pesquisa no componente Menu



  • Olá pessoal!

    Estou personalizando o template Safira fazendo ajustes de tamanhos e me deparei com a seguinte situação.

    Ao mudar a altura do elemento responsável pela listagem da pesquisa do menu (resultSearchList), a mesma parou de funcionar.

    Comecei a procurar o problema e acabei encontrando. Trata-se de uma verificação um tanto quanto estranha na função "Menu - Search - Manipulando resultados da busca" do arquivo "jsRule/sistema_SIGLA/webrunMakerComponentes.js", onde na função que inseri o resultado no elemento de pesquisa é feito uma verificação do tamanho do elemento contra o tamanho da página.
    [code]while (parseBoolean((isMinorOrEqual.call(this, this.context['contador'], ebfListLength.call(this, this.context['second_priority'])) && isMinor.call(this, oprAdd.call(this, ebfHtmlGetDOMAttribute.call(this, ebfGetElementFromList.call(this, ebfHtmlGetElementByClassName.call(this, 'resultSearchList', ebfHtmlGetParent.call(this, this.context['input_element'])), parseInt(1)), 'offsetHeight'), parseInt(125)), ebfHtmlGetDOMAttribute.call(this, ebfGetBodyJSP.call(this), 'offsetHeight'))))) {[/code] Ao meu ver, no laço de repetição deveria ter apenas a instrução que verifica se ainda existe objeto na lista.

    Alguém sabe dizer se esse arquivo é manipulável ou como posso estar resolvendo isso?


  • Olá Poliano, como vai?

    Como o problema só ocorre após sua customização, sugiro que faça uma adaptação da regra para o seu projeto. A regra que você citou faz parte da construção do próprio componente Menu, para conseguir customizar faça o seguinte:
    [list=]
  • Entre em contato com o suporte para obter o FRZ com o fonte do componente Menu. Você já tem este arquivo em seu contexto, porém ele está "comprimido" de forma que você não conseguirá importar no Maker. Isso é feito para diminuir o tamanho, e otimizar o tempo de carga da página
  • [/list] [list=]
  • Remova o Menu.FRZ de dentro do WAR do webrun que está utilizando. Fica na pasta: autodeploy/componentes
  • [/list] [list=]
  • Republique o contexto para que ele seja recriado sem o Menu.FRZ. Você pode também remove-lo manualmente da pasta, porém lembre-se que sempre que republicar, o arquivo será criado novamente
  • [/list] [list=]
  • Importe o arquivo Menu.FRZ, obtido no suporte, para o seu projeto Maker
  • [/list] [list=]
  • Neste momento, todos os fluxos do componente Menu estarão dentro do seu projeto, e você terá acesso a customizá-los
  • [/list] [list=]
  • Faça as alterações que você sugeriu na regra e efetue os seus testes
  • [/list]
    Esse procedimento é necessário porque o Webrun prioriza as regras que estão no autodeploy.
    [color=#FF0000]Obs:[/color] Sugiro que faça essas alterações em um ambiente a parte, de testes, e caso tenha sucesso replique pro seu ambiente de desenvolvimento. Depois da customização você pode exportar novamente as regras do Menu, agora com sua customização, e manter este arquivo no Maker.Commons. Com isso, futuras atualizações não vão sobrepor suas mudanças.

    Abraços!


  • Entendi Erick. Já solicitei ao suporte o FRZ para poder importar ao projeto e realizar os testes.

    Mas agora me surgiu uma outra dúvida...

    Por mais que realmente não consigo abrir o fluxo desse FRZ que já contém no contexto (como você explicou por estar comprimido), mesmo assim importei só para ver o conteúdo e notei que nesse arquivo FRZ contém objetos que são utilizados tanto na IDE, quanto no webrun. Já prevendo uma futura atualização desses objetos por parte da Softwell para melhorias do componente ou até mesmo correções, eu terei que outra vez pedir ao suporte o arquivo para novamente realizar a mudança que preciso? Ficarei preso nesse ciclo, correto?

    Aproveitando o assunto, não deveria ser separados esses objetos? Entendo que o projeto final exportado vai conter vários objetos que não tem efeito algum, como por exemplo o formulário de configuração da estrutura do menu.

    Muito obrigado pelo auxílio!

  • Log in to reply