Obtener valor de atribudo DATA Jquery APEX

Obtener valor de atribudo DATA Jquery APEX

El ejemplo está bajo el evento CLICK sobre un elemento de un listado de Classic Report

Esta basado en la idea publicada por Magaly Iraheta en su canal de YouTube

Oracle APEX - How To Add a Button to a Classic Report

Generación del Reporte

  1. Generamos nuestro reporte en base a los requerimientos del sistema y agregamos un una columna para las acciones, en este caso será el botón/icono de borrar.

    1. Con un Static ID >> regListaTecnicos
  2. El campo DERIVED$01 tiene un formato HTML de salida.

Formato del botón HTML

  1.     <span class="fa fa-times-circle u-danger-text cursor deleteTec" aria-hidden="true" data-tecnico-id="#ID#"></span>.
    
  2. La clase deleteTec y el atributo data-tecnico-id son claves para obtener los cambios dentro del listado.

Javascript Global

  1. En la declaración Global utilizamos el siguiente código Javascript
  var regLista = 'regListaTecnicos';
  // 1. Escuchamos todos los clicks de la region 
  // enviando la clase del elemento SPAN de la region
  $(`#${regLista}`).on('click', ".deleteTec", function() {
      //2. Obtenemos el valor de "data-tecnico-id", con ".data"
      let idTecnico = $(this).data("tecnicoId");
      //3. Este es un AJAX APEX, que llama un proceso de remover elemento del listado, simplemente un DELETE sobre la tabla correspondiente
      apex.server.process('delTecnico',
            {
                x01: idTecnico,
                pageItems: '#P_EMPRESA'
            }
            , {success: function(pData){
                    // 4. En caso de que haya un error, retorna 1 
                    // el indicador de error, caso contrario 0, y realizar un refresh sobre la region de regListaTecnicos
                    if (pData.ind_error == 1){
                        alert(pData.error);
                    } else {
                       apex.region( regLista ).refresh();
                    }
                }
            }
        );
  });

Conclusión

En resumen, es solo una opción para poder obtener los datos de ciertos elementos del DOM. Existen multiples formas de hacer ciertas características en un sistema. Espero que les sea de utilidad y no dude en comentar.

Atte.: @PabloACespedes \(^_^'), desde Paraguay