¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¿Cómo agregar addEventDelegate a múltiples controles por clase?

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

¿Lo que necesito hacer es seleccionar un número de controles por clase y agregar el método addEventDelegate a cada uno de ellos. ¿Es posible?

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

4 Respuestas

0
Cargando...

Quiero agregar addEventDelegate para habilitar el evento mouseover para íconos

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

No creo que sea posible directamente usando las APIs de UI5, necesitas acceder a todos los controles usando jQuery y podrás acceder a los controles de UI5 pasando el id a sap.ui.getCore().byId("id del control jQuery").

Pero ¿cuál es exactamente el requisito? Creo que debe haber una mejor solución en lugar de acceder a los controles a través de la clase.

Gracias,
Mahesh

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

Hola lion9 ,

Tuve una situación similar donde tuve que establecer algunos botones como invisibles y establecer un modo de tabla None en lugar de multiselect. Con suerte, esto también funciona para tu caso con algunas modificaciones o para cualquier otra persona que intente lograr un resultado similar.

Lo que hice fue:

  1. Agregar un atributo de datos a cada control en la vista xml https://sapui5.hana.ondemand.com/1.36.6/docs/guide/1ef9fefa2a574735957dcf52502ab8d0.html ver código a continuación
<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 el método findElements para el fragmento (esto también se puede cambiar por this.getView().findElements), para obtener todos los elementos creados para el diálogo. En la función onInit del controlador para el diálogo que quiero modificar, tener esos elementos en un array y luego aplicar un método de Javascript vainilla para obtener solo los elementos que necesito 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 teniendo un problema xy aquí. Por favor, mejora la pregunta con más descripción de lo que realmente estás tratando de lograr, además de tu código relevante actual.

    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?