¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como adicionar addEventDelegate a vários controles por classe?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Preciso selecionar um número de controles por classe e adicionar o método addEventDelegate a cada um deles. É possível?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Quero adicionar addEventDelegate para habilitar o evento mouseover para ícones.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Não acredito que seja possível diretamente usando as APIs do UI5, você precisa acessar todos os controles usando jQuery e poderá acessar os controles do UI5 passando o ID para sap.ui.getCore().byId("id do controle jQuery").

Mas qual é exatamente o requisito? Acredito que deve haver uma solução melhor em vez de acessar os controles através da classe.

Obrigado,
Mahesh

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá lion9 ,

Eu tive uma situação semelhante onde tive que tornar alguns botões invisíveis e definir um modo de tabela None em vez de multiselect. Espero que isso também funcione para o seu caso com algumas modificações ou para qualquer outra pessoa que esteja tentando obter um resultado semelhante.

O que eu fiz foi:

  1. Adicionar um atributo de dados a cada controle na visualização xml https://sapui5.hana.ondemand.com/1.36.6/docs/guide/1ef9fefa2a574735957dcf52502ab8d0.html ver código abaixo
<core:FragmentDefinition ... xmlns:app="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"> } <Table ... id="idTAEditorTable" app:modification="toggleTableMode"...> <Button text="Add" app:modification="setInactive" ...><Button text="Delete" app:modification="setInactive"> .
  • Utilizar o método findElements para o fragmento (isso também pode ser alterado para this.getView().findElements), para obter todos os elementos criados para o diálogo. Na função onInit do controlador para o diálogo que desejo modificar, ter esses elementos em um array e depois aplicar um método de JavaScript puro para obter apenas os elementos que preciso modificar
  •  if(isEditor=== false) {            <br>  // toggle off table multiselect<br>  var aToggableTables = this._oDialog.findElements(true).filter((x) => x.data("modification") === "toggleTableMode");<br>  aToggableTables.forEach((table) => table.setMode("None"));<br>              // set use edit buttons inactive and invisible<br>  var aButtonsForEditors = this._oDialog.findElements(true).filter((x) => x.data("modification") === "setInactive");<br>  aButtonsForEditors.forEach((button) => button.setVisible(false));<br> }
    Respondido el 15/04/2024
    LUCIANO RIOJA GHIOTTO
    Se unió el 13/07/2019
    0
    Cargando...

    Parece que estamos enfrentando um problema xy aqui. Por favor, melhore a pergunta fornecendo mais descrição do que realmente está tentando alcançar, juntamente com seu código relevante atual.

    Respondido el 15/04/2024
    LUCIANO RIOJA GHIOTTO
    Se unió el 13/07/2019

    contacto@primeinstitute.com

    (+51) 1641 9379
    (+57) 1489 6964

    © 2024 Copyright. Todos los derechos reservados.

    Desarrollado por Prime Institute

    ¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
    Hola ¿Puedo ayudarte?